资源描述:
《上机实验五 循环结构程序设计一(带参考答案)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、上机实验五循环结构程序设计(一)一.目的要求1.掌握while、do-while、for语句的语法规则、执行流程。2.比较3种循环语句的异同。3.按题目要求,完成代码。二.实验内容思考问题:3种循环的异同点?能否相互转换?for循环控制单元的表达式与while循环中表达式是如何对应的?第1题、分别用while、do-while、for语句编程,求数列前20项之和:2/1,3/2,5/3,8/5,13/8······算法提示:1)定义实变量sum、term、a、b、c,整变量i2)初始化:sum=0,分子a=2,分母b=13)初始化:i(计数器)=14)计
2、算第i项term=a/b5)累加sum=sum+term6)计算c=a+b,更新b=a,更新a=c7)计数器加1,i++8)重复4、5、6、7,直到i>209)输出2位精度的结果编写程序:方法一,用while语句:#includevoidmain(){floats=0,a=2,b=1,c;inti=1;while(i<=20){s=s+a/b;c=a+b;b=a;a=c;i++;}printf(“s=%.2f”,s);}方法二,用do-while语句:#includevoidmain(){floats=0,a=2,b=
3、1,c;inti=1;do{s=s+a/b;c=a+b;b=a;a=c;i++;}while(i<=20);printf(“s=%.2f”,s);}方法三,用for语句:#includevoidmain(){floats=0,a=2,b=1,c;inti;for(i=1;i<=20;i++){s=s+a/b;c=a+b;b=a;a=c;}printf(“s=%.2f”,s);}第2题、计算多项式的值:s=1!+2!+3!+4!+·····+20!算法提示:该多项式迭代公式为:term=term*i,sum=sum+term注意:哪些变量
4、需要初始化?变量应采用什么类型?编写程序:#includevoidmain(){inti;doubles=0,fact=1;for(i=1;i<=20;i++){fact*=i;s=s+fact;}printf(“s=%f”,s);}把每一次迭代结果输出,程序应做怎样的修改?第3题、输入x和n,计算并输出下式的值:s=x/1+x/3+……+x/n参考答案:#includeintmain(){intn,i;floatx,s=0;printf("请输入x,n,以,分隔");scanf("%f,%d",&x,&n);for(
5、i=1;i<=n;i+=2){s+=(x/i);}printf("s=%f",s);}第4题、输入一批正整数,求出其中的偶数之和。(思考:如何表示输入的结束?)参考答案:#includeintmain(){intsum=0,n;printf("请输入若干正整数,以空格分隔,并以0表示结束");scanf("%d",&n);while(n>0){if(n%2==0)sum+=n;scanf("%d",&n);}printf("sum=%d",sum);}第6题、输入x,计算并输出下式的值:s=x/(1*2)+x/(3*4)+x/(5*
6、6)+……直到最后一项的绝对值小于1E-5参考答案:#include#includeintmain(){floatsum,x,item;inti=1;printf("请输入x=");scanf("%f",&x);do{item=x/(i*(i+1));sum+=item;i+=2;}while(fabs(item)>=1E-5);printf("sum=%f",sum);}第5题、输入正数n,要求输出Fibonacci数列的前n项。1,1,2,3,5,8……参考答案:#include#include7、ath.h>intmain(){longx1=1,x2=1,x,n,i;printf("请输入n=");scanf("%d",&n);printf("%dt%dt",x1,x2);for(i=3;i<=n;i++){x=x1+x2;printf("%dt",x);if(i%5==0)//每行输出5个数printf("");x1=x2;x2=x;}}第6题、求下列多项式的和,直到最后一项的绝对值小于1E-5。s=1/2-1/5+1/8-1/11+……参考答案:#include#includeintmain(){i
8、ntflag=1;floatsum=0,n=2,item;do{item=fla