《C 语言程序设计-郑立静》第五讲_循环结构程序设计121106.pptVIP

《C 语言程序设计-郑立静》第五讲_循环结构程序设计121106.ppt

  1. 1、本文档共51页,可阅读全部内容。
  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文档。上传文档
查看更多
#include math.h void main() {int x,k,f=1; scanf( %d ,x); 排除法:如果有因子,不再往下判断是否是 素数 for(k=2;k=sqrt(x);k++) if(x%k==0) {f=0;break; } if(f==1) printf( %d is a prime ,x); else printf( %d is not a prime ,x); } 标记变量法 例5-7 用0--9这十个数字可以组成多少无重复的三位数? 编程方法: “枚举法” 按问题本身的性质,一一列举出该问题所有可能的解,并在逐一列举的过程中,检验每个可能解是否是问题的真正解,若是,我们采纳这个解,否则抛弃它。对于所列举的值,既不能遗漏也不能重复。 #include stdio.h void main() /*a,b,c代表百位、十位、个位*/ {int x,a,b,c,num=0; /*num存放满足条件的数的个数,注意num要赋初值*/ for(x=100;x=999;x++) { a=x/100;b=x/10%10;c=x%10; if(a!=ba!=cb!=c) { num++; printf(%5d,x); } } printf(\nnumber=%d,num);} 编程方法: “递推法” 例5-8 裴波那契数列的第1、2项分别为1、1,以后各项的值均是其前两项之和。求前30项菲波那契数。 所谓递推法就是从初值出发,归纳出新值与旧值间的关系,直到求出所需值为止。新值的求出依赖于旧值,不知道旧值,无法推导出新值。数学上递推公式正是这一类问题。 f1--第一个数 f2--第二个数 f3--第三个数 f1=1; f2=1; f3=f1+f2; 以后只要改变f1,f2的值,即可求出下一个数. f1=f2;f2=f3; f3=f1+f2; 递推 void main() {long f1=1, f2=1, f3; int k; 参考程序: printf( %ld\t%ld\t , f1,f2); for(k=3;k=30;k++) { f3=f1+f2; printf( %ld\t ,f3); f1=f2; f2=f3; } } 注意f1、f2、f3、k 的类型 递推 1.break语句 (1) 语句形式: break; (2)作用: 结束break所在的 switch语句。 结束当前循环,跳出break所在的循 环结构。 5.4 break语句和continue语句 (1)语句形式: continue; (2)语句作用: 结束本次循环。 2、continue 语句 (3)语句执行流程: continue语句可以结束本次循环,即不再执行循环体中continue 语句之后的语句,转入下一次循环条件的判断与执行。 break和continue语句 break语句 跳出本层循环 while(ij) { ... if(i100) break; ... } continue语句 结束本次循环 while(ij) { ... if(i100) continue; ... } 【例5-9】 求300以内能被17整除的最大的数。 #include stdio.h void main() {int x,k; for(x=300;x=1;x--) if(x%17==0) break; printf(x=%d\n,x); } 找到满足条件的最大数,结束循环 【例5-10】 求300以内能被17整除的所有整数。 #include stdio.h void main() {int x; for(x=1;x=300;x++) {if(x%17!=0) continue; printf(%d\t,x); } } 在循环体语句中又包含有另一个完整的循环结构的形式,称为循环的嵌套。 5.5 循环的嵌套 嵌套在循环体内的循环体称为内循环,外面的循环称为外循环。 while 、do-while、for三种循环都可以互相嵌套。 循环语句之间的关系 for(...) {... for(...) {... } ... } 内循环 外循环 for(....) {... } for(...) {... } 并列循环 嵌套循环 交叉循环

您可能关注的文档

文档评论(0)

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

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档