网站大量收购独家精品文档,联系QQ:2885784924

程序控制语句幻灯片.ppt

  1. 1、本文档共115页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计数器控制的循环 3.5.3 素数问题 【例3- 30】判断x是否为素数 #include stdio.h #include math.h void main() { int x,i; printf(please input a number : ); scanf(%d,x); for(i=2;i=sqrt(x);i++) if(x%i==0) break; if(isqrt(x)) printf(%d is a prime number\n,x); else printf(%d is not a prime number\n,x); } 3.5.3 素数问题 【例3- 31】 从键盘输入一个大于3的正整数x,输出比该数大的且距离该数最近的素数 #include stdio.h #include math.h void main() { int x,y,k,i; printf(please input a number : ); scanf(%d,x); for(y=x+1; ;y++) { k=sqrt(y); for(i=2 ;i=k ;i++) if(y%i==0) break ; if(ik) break; } printf(the closest prime number is %d\n,y); } 3.5.4 百钱百鸡问题 【例3- 32】我国古代数学家张丘建在《算经》中出了一道“百钱百鸡”题,题意为:公鸡五元一只,母鸡三元一只,小鸡一元三只。100元钱买100只鸡,问公鸡、母鸡、小鸡各买多少只? #include stdio.h void main() { int cock,hen,chick; for(cock=0;cock=100;cock++) for(hen=0;hen=100;hen++) for(chick=0;chick=100;chick+=3) if(cock+hen+chick==100cock*15+hen*9+chick==300) printf(cock=%d,hen=%d,chick=%d\n,cock,hen,chick); } 改进算法 #include stdio.h void main() { int cock,hen,chick; for(cock=0;cock=20;cock++) for(hen=0;hen=33;hen++) { chick=100-cock-hen; if(cock*5+hen*3+chick/3==100) printf(cock=%d,hen=%d,chick=%d\n,cock,hen,chick); } } 3.5.5 高次方程求解 混淆相等测试运算符==和赋值运算符=,在应该使用==的表达式中使用了赋值运算符= 循环变量赋初值位置错误。循环变量赋初值应在循环之外,特别是在多重循环嵌套时,要特别注意一般内循环变量赋初值应在外循环内,内循环之外 在while和for语句后面误加空语句 ; 3.3.3 for 语句 for ( 表达式 1 ; 表达式 2 ; 表达式 3 ) 语句 ; S1: 求解表达式 1 S2: 求解表达式 2,若其值为真,则执行 for 语句中指定的内嵌语句,然后执行下面的第三步; 若为假,则循环结束,转到第 5 步 S3: 求解表达式 3 S4: 转回上面第 2 步继续执行 S5: 循环结束,执行 for 语句下面的语句 3.3.3 for 语句 sum = 0 ; for ( i=1 ; i=n ; i++ ) sum = sum + i ; sum = 0 ; i=1 ; /*相当于 for 语句中的表达式1*/ while ( i = n ) /* 表达式2 */ { sum = sum + i ; /* for 循环体 */ i ++ ; /* 表达式3 */ } for ( 循环变量赋初值 ; 循环条件 ; 循环变量修正 ) 循环体语句 ; 如果在 for 语句之前给循环变量已经赋了初值,则在 for 语句中的“循环变量赋初值”部分即表达式 1 可以省略 m = 1; i = 1 ; for ( ; i = 10 ; i ++ ) m = m * i ; 如果表达式 2 省略,即不判断循环条件,则程序陷于无终止的循环 for ( i = 1 ; ; i ++

文档评论(0)

love87421 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档