- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 2026年山西老区职业技术学院单招职业技能考试必刷测试卷附答案.docx VIP
- 八年级英语人教版上册选词填空专项练习.docx VIP
- 2023年3月英语四级听力真题及原文.pdf VIP
- 2025至2030中国富硒农产品行业供需分析及投资风险报告.docx
- 2024年山西老区职业技术学院单招职业技能考试试题及答案.docx VIP
- 2023-2024学年 河北省 邢台市 信都区 校联考 七年级(上)期中 语文试卷(原卷版).docx VIP
- 入党志愿书表格(电子版空白表格).doc VIP
- 2025年山西水利职业技术学院单招职业技能测试题库审定版.docx VIP
- 新版七上英语说课课件人教版.pptx VIP
- 《稀土金属》课件.ppt VIP
原创力文档


文档评论(0)