江苏大学c语言课件第五章-精选(公开课件).pptVIP

江苏大学c语言课件第五章-精选(公开课件).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 循环结构 程序设计 第一部分 循环语句的实现 [例3]百鸡问题。公鸡每只5元,母鸡每只3元,小鸡每3只1元,用100元买100只鸡,并且各种鸡至少买一只,问公鸡、母鸡、小鸡各多少? 分析: 设 : 公鸡x只 、母鸡y只 、小鸡z只 根据条件列出方程: /*Who is a murder? whois.c */ #include stdio.h main() {int a,b,c,d,e,f,l,m,n; printf(\n Computing Result is:(1 is a murder)\n); printf(\n); printf(\t A B C D E F \n); printf(===============================\n); for(a=0;a=1;a++) { for(b=0;b=1;b++) { for(c=0;c=1;c++) { for(d=0;d=1;d++) {for(e=0;e=1;e++) {for(f=0;f=1;f++) {l=((a==1)(b==0))||((a==0)(b==1)); m=(c==0); n=((a==0)(b==0)); if(((l+m+n)==1(a+b+c+d+e+f)==1)) printf(\t%3d%3d%3d%3d%3d%3d\n,a,b,c,d,e,f);}}}}}}} 牛顿迭代公式 由牛顿迭代公式可以不断地求出x1,x2….,xn。实际设计时,只需用两个变量x1和x通过循环不断求出新的数据即x2,x3,x4….,xn 3.梯形法求积分 [例8]:求 分析:f(x)=x2+2x+1 区间[2 , 3], 设:a=2, b=3 #includestdio.h/* li5_2.c */ main() {int k,m; float x,s,t; printf(input m x); scanf(%d%f,m,x); s=0; t=1; for(k=1;k=m;k++) { s+=t; (1) t=t*x/k; (2) } printf(e**%.2f=%f\n,x,s); } ex= 问题: for循环体中(1)和(2)语句顺序能否调换?调换后会产生什么样的结果? 利用前项和后项的相互关系求新项的过程称为“递推” 二、穷举法 将所有可能的方案都一一测试,找出其中符合要求的。 用途: 求数学上的整数方程、不定方程、或其它方法无法解决时的一种方法。 流程图: for x=1 to 19 for y=1,to 33 z=100-x-y 5*x+3*y+z/3=100 T F 输出x,y,z #includestdio.h main() {int x,y,z; for (x=1;x=19;x++) { for (y=1;y=33;y++) { z=100-x-y; if(5*x+3*y+z/3.0==100) printf(x=%d y=%d z=%d\n,x,y,z); } } } 〖程序〗baiji.c 例4:谁是凶手? 问题:某地发生了一件凶杀案,凶手A、B、C、D、E、F六人中之一。L说:凶手非A即B;M说:凶手绝不是C;N说:案发时A、B正在他家。已知L、M、N三人只有一人说对,请问谁是凶手? 算法分析:对L、M、N三人话建立逻辑表达式,然后用穷举法找出符合要求的情况。 假设某人为凶手为1;不是凶手为0 L=(A==1B==0)||(A==0 B==1) M=(C==0) N=(A==0 B==0) L+M+N= =1 /*三人中只有一人说对 */ A+B+C+D+E+F==1 /*六人中只有一人是凶手 */ L=(A==1B==0)||(A==0 B==1) M=(C==0) N=(A==0 B==0) L+M+N= =1 /*三人中只有一人说对 */ A+B+C+D+E+F==1 /*六人中只有一人是凶手 */ 三、求两个正整数的最大公约数 采用欧几里得的辗转相除的方法 三、求两个正整数的最大公约数 算法流程图 输入n,m 将m,n中的大数放在m,小数放在n 求m/n的余数?r 当r≠0 n?m r?n 求m/n余数r 打印最大公约数n #includestdio.h main

文档评论(0)

咪蒙 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档