实验3、循环结构程序设计(有答案).docVIP

  • 11
  • 0
  • 约1.77千字
  • 约 4页
  • 2017-06-10 发布于北京
  • 举报
循环结构程序设计 程序填空 下面程序的功能为:计算1~100之间的偶数之和,完成以下的程序并运行。 # include stdio.h oid main() {int i,s=0; /**************found*************/ i=2 ; while(i=100) {s=s+i; /**************found**************/ i+=2 ; } printf(“s=%d”,s); } 运行结果:S=2550 程序改错 下面程序的功能为:计算10改以下的程序并上机运行。 #include stdioh void main() {int n,t; for(n=1,t=1,t10,t++); n=n*t; printf(“10!=%d\n”,n); } 正确的程序: #include stdio.h void main() {int n,t; for(n=1,t=1;t=10;t++) //句尾不能有“;” n=n*t; printf(“10!=%d\n”,n); } 运行结果:10!=3628800 (2) 下面程序的功能为:计算1~100之间能被3和整除的数之和,修改以下的程序并上机运行。 #include stdio.h void main() {int i,s; s=0; while(i=100); {if(i%3==0||i%7==0) s+=i; i=i+1; } printf(“s=%d”,s); } 正确的程序: #include stdio.h void main() {int i,s; s=0; i=1; while(i=100) //句尾不能有“;” {if(i%3==0i%7==0) s+=i; i=i+1; } printf(“s=%d”,s); } 运行结果:S=210 3、有一个分数序列:2/1、3/2、5/3、8/5、13/8、……,编写一个C程序,求出这个数列的前0项之和解: 方法一、单个函数模块: #include stdio.h void main() { int i=1; double t,x=1,y=2,sum=0; while(i=30) { sum=sum+y/x; t=y; y=y+x; x=t; i++; } printf(%f\n,sum); } 方法二、多个函数模块: #include stdio.h double fun(int n) { double a=1,b=2; double result=0.0; int i; for(i=0;in;i++) { result+=b/a; b=a+b; a=b-a; } return result; } void main() {int n=30; printf(%f\n, fun(n)); } 运行结果:48.840601 4、编写程序,求1!+2!+3!+…+10!。 解法一、递推法: #include stdio.h void main() {int i; int sum=0,f=1; for(i=1;i=10;i++) {f= f*i; sum= sum+f; } printf(sum=%d\n,sum); } 解法二、递归法: /*递归计算单个整数的阶乘*/ #include stdio.h int sum = 0; int CountSum(int value) { if(value == 1) return 1; else return value * CountSum(value - 1); } void main() { int i; for(i = 1; i = 10; i++) { /*累加*/ sum += CountSum(i); } printf(%d\n,sum); } 运行结果:sum=4037913

文档评论(0)

1亿VIP精品文档

相关文档