- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五讲循环结构
11、以下程序的输出结果是( ) #includestdio.h main() { int i; for(i=a;if;i++,i++) printf(%c,i-a+A); printf(\n); } 2007-9 ACE 12、以下不构成无限循环的语句或语句组是 A)n=0; B)n=0; do{++n;}while(n=0); while(1){n++;} C)n=10; D)for(n=0,i=1; ;i++)n+=i; while(n);{n--;} 13、若有定义:int k;,以下程序段的输出结果是( ##2##4 ) for(k=2;k6;k++,k++) printf(##%d,k); 2008-4 14.有以下程序 #include stdio.h void main ( ) {int n=2,k=0; while(k++n++2); printf(%d %d\n,k,n); } 程序运行后的输出结果为: A 0 2 B 1 3 C 5 7 D.1 2. 15.以下程序运行后的输出结果是() #include stdio.h void main ( ) {int a=1,b=7; do { b=b/2; a+=b; }while(b1); printf(%d\n,a); } 5 2009-9 5.5 循环的嵌套 当循环体语句又是一条循环语句,或作为循环体的复合语句中又包含循环语句时称为循环的嵌套。嵌套可以是两层或多层。While 、do-while、for三种循环都可以互相嵌套。 循环体语句可以是任何形式的语句,简单语句、空语句、复合语句、流程控制语句都可作为循环体语句。 复习:判断一个数是否是素数 例2:求3~150中所有素数的和。 算法分析: 1. 用变量a从3到150循环,每次值增加1 2. 用变量i从2到a-1循环,每次值增加1 3. 若a%i==0 ,结束i的循环,执行第4步 4. 若i==a,把a累加到s上。 5. 输出s的值 注意:此题中执行第4步时有两种情况。第一种:在第3步 中发现了满足a%i==0的情况,直接跳出了i的循环,此时的 i一定是在2到a-1中间的一个值,而且a不是素数。第二种:一 直没有发现满足a%i==0的i,在i==a时,不再满足i循环的执行 条件,i循环结束,此时的a是素数! 程序: #includestdio.h main( ) { int a,s=0,i; for(a=3;a=150;a++) { for(i=2;i=a-1;i++) if(a%i==0) break; if(a==i) s=s+a; } printf(“\n%d”,s) } 求素数的方法很 多,大同小异。此 题可以做一些改动 。如:i的值可以是 从2取到sqrt(a);可 以不用最后察看i的 值,而是通过在发 现因子时改动标志 变量,最后根据标 志变量的值判断是 否是素数。 题目9:关于素数:46-1;49-3;57-2;74-2;12-2;28-2 46-1 答案有错 蓝色:答案太死 例:已知abc0,a、b、c为整数,且a+b+c100,求满足1/a2+1/b2=1/c2的a、b、c共有多少组? 算法分析: 这是一道典型的三重嵌套循环的题目。a、b、c都是位于1到99之间整数。编程的基本思路是:找出1到99之间的所有a、b、c的排列,察看同时满足abc、a+b+c100、1/a2+1/b2=1/c2这三个条件的a、b、c有多少组。 值的注意的是, 1/a2+1/b2=1/c2这个条件并不能简单的原样照写,因为在求分数的过程中必然有四舍五入,不能得出真正的准确的结果,必须把条件变形成:c2(a2+b2)=a2b2才能得出正确的结果。 1. a从1到99循环 2. b从1到99循环 3. c从1到99循环
您可能关注的文档
最近下载
- 全面预算管理操作实施手册汇总.pdf VIP
- 空调安装质量保证措施和创优计划.docx VIP
- 2025陕西延长石油(集团)有限责任公司招聘(1881人)笔试备考题库及参考答案详解一套.docx VIP
- 汉字的“六书”理论.ppt VIP
- 高考语文作文的命题趋势研究.pptx VIP
- Rexroth力士乐电动缸EMC说明书.pdf VIP
- 2008年修电脑1400张照片连接.docx VIP
- 2023年重庆小升初一三八巴蜀育才巴川入学考试宝典及语文、数学试题.doc VIP
- 2025年5月新高考语文全国Ⅰ卷各地模考试题汇编之古代诗歌鉴赏.docx VIP
- 吹瓶机安全操作规程培训.pptx VIP
文档评论(0)