樊媛媛《语言程序设计》06-循环控制.pptVIP

  • 0
  • 0
  • 约8.76千字
  • 约 48页
  • 2019-01-04 发布于浙江
  • 举报

樊媛媛《语言程序设计》06-循环控制.ppt

樊媛媛《语言程序设计》06-循环控制

第六章 循环控制 6.1 概述 所谓循环控制,就是如何实现循环结构的控制问题。有4种方法: ①?用goto语句和if构成循环。 ②?用while语句。 ③?用do-while语句。 ④?用for语句。 do-while与while语句的区别 do…while能方便的实现“直到型”循环,但应将条件取反。 eg6-26 main() { int i,j; float t=1,s=t; for(i=2;i=20;i++) { t=t*i; s+=t; } printf(“\n s=%f”,s); } eg6-27 main() { int i,j,a=2; float t=a,s=t; for(i=2;i=5;i++) { t=t*10+a; s+=t; } printf(“\n s=%f”,s); } eg6-22 main() { int i,j,k,n; for(n=100;n=999;n++) { i=? j=? k=? if(i*i*i+j*j*j+k*k*k==n) printf(“\n%d”,n); } } 通过循环列出n的所有可能的范围 i=n/100; k=n%10; j=n/10%10; eg6-23 main() { int i,j,k,n; for(i=1;i=9;i++) for(j=0;j=9;j++) for(k=0;k=9;k++) { n=i*100+j*10+k; if(i*i*i+j*j*j+k*k*k==n) printf(“\n%d”,n); } } 通过循环列出i,j,k的所有可能的范围 main() { int i,j; float t,s=0; for(i=1;i=20;i++) { s+=?; } printf(“\n s=%f”,s); } 用两重循环实现 s+=t; t=1; for(j=1;j=i;j++) t*=j; 例:(习题6.4 ) eg6-24 求S= ∑i! =1!+2!+3!+4!+…+19!+20! 20 i=1 用递推法: 递推公式:ti=ti-1.i 求S= ∑i! =1!+2!+3!+4!+…+19!+20! 20 i=1 =1+∑(i-1)!.i = 1+∑ti-1.i 20 i=2 20 i=2 main() { int i,j; float t=1,s=t; for(i=2;i=20;i++) { t=t*i; s+=t; } printf(“\n s=%f”,s); } eg6-25 例: 递推公式: s=∑ — i! 1 1 20 = — + — + — + — + …+ — 1! 2! 3! 4! 20! 1 1 1 1 1 ti= ti-1 / i t=t/i; 习题6.3: s=a+aa+aaa+aaaa+aaaaa 2+22+222+2222+22222 递推公式:ti= ti-1·? ti= ti-1 * 10+a * 6.2 用goto语句和if语句构成循环 例: 对于计算 s=1+2+3+4+5+6+7+8+9+10 0 s 1 i s+i → s i+1 → i i≤10 输出s y n s=0; i=1; label:s+=i; i++; if(i=10) goto label; printf(“%d”,s) ; 语句标号 无条件转向语句 goto 语句可以构造循环,但不主张用,因为它容易破坏结构化程序设计。 6.3 while语

文档评论(0)

1亿VIP精品文档

相关文档