C语言程序设计 循环结构程序设计.pptVIP

C语言程序设计 循环结构程序设计.ppt

  1. 1、本文档共42页,可阅读全部内容。
  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语言程序设计 循环结构程序设计.ppt

* * 例如: ⑴ int x,n=0,s=0; while (n10) { scanf(%d,x); if (x0) break; s+=x; n++; }; ⑵ int x,n=0,s=0; do { scanf(%d,x); if (x0) break; s+=x; n++; } while (n10); ⑶ for (n=0,s=0; n10; n++ ) { scanf(%d,x); if (x0) break; s+=x; } * * 5.6 循环的嵌套 如果循环语句的循环体内又包含了另一条循环语句,则称为循环的嵌套 例如: #include stdio.h void main( ) { int i, j; for ( i=1; i10; i++ ) for ( j=1; j=i; j++ ) printf ((j==i)?%4d\n:%4d,i*j); } 外循环语句 内循环语句 * * 注意: while、do-while、for循环语句可以并列,也可以相互嵌套,但要层次清楚,不能出现交叉。 多重循环程序执行时,外层循环每执行一次,内层循环都需要循环执行多次。 例如: for(a=1;a=10;a++) { for (b=0;b=5;b++) …… } 外循环执行了10次,每次外循环中内循环执行6次 循环正常结束时,内循环执行了10×6=60次 * * 5.7 循环结构程序设计 【例5.5】按每行输出5个数的形式输出Fibonacci数列的前20项 。 Fibonacci数列的前几项是:1、1、2、3、5、8、13、21、34、…。此数列的变化规律是: 1 (n=1) 1 (n=2) fn-1+fn-2 (n2) fn= 思路: 设变量f1、f2和f3,并为f1和f2赋初值1,令f3=f1+f2得到第3项; 将f1←f2, f2←f3,再求f3=f1+f2得到第4项; 依此类推求第5项、第6项… 这是一种递推算法 应采用循环实现 * * 算法和程序 #include stdio.h #define N 20 void main( ) { int i,f1,f2,f3; f1=f2=1; printf(\n%8d%8d,f1,f2); for (i=3; i=N; i++) { f3=f1+f2; f1=f2; f2=f3; printf(%8d,f3); if (i%5==0) printf(\n); } } f1=1,f2=1并输出 for (i=3; i=20; i++) f3=f2+f1 f1=f2,f2=f3 输出f3 输出5个数 T F 换行 * * 举例 【例5.6】判断输入的某个数m是否为素数。若是素数,输出“YES”,若不是,输出“NO”。 思路:素数是指只能被1和它本身整除的数,如5、7、11、17、…等。 分别用2、3、…,m-1尝试能否整除整数m。如果m能被某个数整除,则m就不是素数。 这是一种穷举算法 设除数为j,从2循环到m-1 * * 算法和程序: #include math.h void main( ) { int j,m,k; printf(Enter an integer number: ); scanf(%d,m); for (j=2; j=m-1; j++) if (m%j==0) break; printf(%d ,m); if (j=m) printf(YES\n); else printf(NO\n); } 输入一个数m for (j=2; j=m-1; j++) m%j==0 T F 退出循环 j=m T F 输出YES“ 输出NO * * 举例 【例5.7】编程序求2~10000以内的完全数。 完全数:一个数的因子(除了这个数本身)之和等于该数本身。 思路: 设定i从2变到10000,对每个i找到其因子和s;

文档评论(0)

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

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

1亿VIP精品文档

相关文档