《c分支和循环案例分析.pptVIP

  • 5
  • 0
  • 约1.05万字
  • 约 39页
  • 2016-12-28 发布于北京
  • 举报
分支案例分析 案例分析 循环案例分析 1.和积计算 1.和积计算 2.素数探求 2.素数探求 3.求特定数 3.求特定数 4.不定方程求解 4.不定方程求解 图形图案 循环程序典型例题分析 5.利用迭代公式求值 求n!=1*2*3*…*n main() { int I,n; long t; scanf(“%d”,n); t=1; for (i=1;i=n;i++) t=t*i; printf(“%d!=%ld\n,n,t); } 问题变通1:求s= 1+1/1!+1/2!+1/3!+…+1/n! 问题引申:求阶乘和数: 一个正整数如果等于组成它的各位数字的阶乘之和,该正整数称为阶乘和数. 阶乘计算: Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 打印输出100~200之间的素数。 main() { int i,j; for(i=100;i=200;i++) {for(j=2;j=i-1;j++) if(i%j==0) break; if(ji-1) printf(%5d,i); } } 探求区间素数: 思考:如何改进可提高程序的判别效率? Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 输入自然数n,将其表示为质因数从小到大顺序连乘形式。如:90=2*3*3*5 #includemath.h main() { long n,k, t; scanf(“%ld”,n); t=n; for (k=2;k=sqrt(n);k++) { if (t%k==0) { t=t/k; if(t1){printf(“%ld*”,k);continue;} if(t==1) printf(“%ld\n”,k); } } if(t1tn) printf(“%ld\n”,t); if(t==n) printf(“%ld\n是素数”,n); } 质因数分解: Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 求从键盘任意输入的两个整数的最大公约数与最小公倍数 main() { int a,b,temp,k; printf(Input a b:); scanf(%d%d,a,b); k=a*b; if(ab) { temp=a;a=b; b=temp; } while(b!=0) { temp=a%b; a=b; b=temp; } printf(“最大公约数是: %d\n,a); printf(“最小公倍数是:%d\n”,k/a);} 最大公约数与最小公倍数: main() { int a,b,t; printf(Input a b:); scanf(%d%d,a,b); if(ab) { t=a;a=b; b=t; } for(t=a;t=1;t--) if(a%t==0b%t==0) break; printf(“最大公约数是: %d\n,t); printf(“最小公倍数是:%d\n”,a*b/t); } Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 三位数的各位数字的立方和等于该三位数即为水仙花数,求出所有水仙花数。 main() { int i,a,b,c; for(i=100;i=999;i++) {a=i/100; b=(i/10)%10; c=i%10; if(i==a*a*a+b*b*b+c*c*c) printf(%d”,i); } } 水仙花数: main() { int i,j,k

文档评论(0)

1亿VIP精品文档

相关文档