C语言循环结构的.pptVIP

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言循环结构的

循环程序设计(2);1.break语句;【例7:】 求300以内能被17整除的最大的数。;【例8】 求300以内能被17整除的所有整数。 ;(1)语句形式: continue;;#include stdio.h void main() {int a, b; for(a=1,b=1; a=10; a++) {if(b=10) break; if(b%3==1) {b+=3; continue;} } printf(%d\n,a); } ;循环程序设计(循环嵌套);循环程序设计(循环嵌套); 在循环体语句中又包含有另一个完整的循环结构的形式,称为循环的嵌套。如果内部的循环体中又有嵌套的循环语句,则构成多重循环。;循环语句之间的关系;菱形图案程序如下:;循环嵌套;循环嵌套;Cocks hens chicks;#include stdio.h void main() { int x,y,z; for(x=1;x=20;x++) { for(y=1;y=33;y++) { z=100-x-y; if (5*x+3*y+z/3 ==100)z%3==0) printf(“cock:%d, hens:%d, chicks:%d\n,x,y,z); } } };循环嵌套;循环程序设计;循环程序设计;枚举法求2个整数的最大公约数;例11 判断m是否素数。 算法: 素数:除了1和自身外不能被其他数整除。 判断方法:测试m能否被2到根号m整除。 为什么不是2到m-1,而是根号m? 一个数m,如果它有约数的话,约数肯定要成对出现,必然有一个大于根号m,另一个小于根号m(显然如果都大于根号m,那相乘结果会大于m)。 根号m的计算方法:利用求平方根的函数sqrt;循环变量:定义为i(整型) 循环变量的范围: 2~k ,k=sqrt(m) (k为整型) 即:i的初值为2,循环执行条件为i=k 循环变量的变化:i++ 重复执行的操作: 如果m能被i整除,则说明m不是素数,也就不需要进行后面的判断,应退出循环结构(用break语句);否则,继续判断。 结果的输出: 如果循环是中途退出的,则i=k,输出m不是素数;否则,m是一个素数。;例11 程序 #includestdio.h #includemath.h main( ) { int i,m,k; scanf(%d,m); k=(int)sqrt(m); for(i=2;i=k;i++) if(m%i==0) break; if(i=k) printf(%d不是一个素数\n,m); else printf(%d是一个素数\n,m); };输出100以内的所有素数(5个一行输出);循环程序设计;循环程序设计;程序代码如下: #include stdio.h void main() { int i,f1,f2,f3; f1=f2=1; for(i=3;i13;i++) { f3=f1+f2; printf(%6d,f3); f1=f2; //用新值取代旧值 f2=f3; //用新值取代旧值 } };循环程序设计;求2个非负整数的最大公约数程序代码。;例14猴子吃桃子问题(迭代法,递推法) (教材P141-12);例15: 输出所有水仙花数。所谓水仙花数是指一个3位数,其各位数字的立方和等于该数本身。例:153=13+53+33 (枚举法);程序代码如下: #include stdio.h void main() { int m,bai,shi,ge;// bai、shi、ge分别对应百位、十位和个位 for(m=100;m=999;m++) { bai=m/100; shi= m/10 %10; ge=m%10; if(m==bai*bai*bai+shi*shi*shi+ge*ge*ge) printf(%d ,m); } };例16:已知abc+cba=1333;其中a、b、c均为一位数,编程求出满足条件的a,b,c的所有组合。 【解析】可以用三重循环穷举所有的解。 程序代码如下: #include stdio.h void main() { int a,b,c; for(a=0;a=9;a++) { for(b=0;b=9;b++) { for(c=0;c=9;c++)

文档评论(0)

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

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

1亿VIP精品文档

相关文档