循环结构程序设计

循环结构程序设计

ID:9956717

大小:49.50 KB

页数:6页

时间:2018-05-16

上传者:U-4187
循环结构程序设计_第1页
循环结构程序设计_第2页
循环结构程序设计_第3页
循环结构程序设计_第4页
循环结构程序设计_第5页
资源描述:

《循环结构程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

实验四循环结构程序设计(解答)1.改错题(1)下列程序的功能为:求1~100之和(和值为5050)并输出。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_1.c存盘。#includemain(){inti,sum=0;i=1;while(i<100)sum=sum+i;i++;printf(“Thesumfrom1to100is%d ”,sum);}改正后的程序:#includemain(){inti,sum=0;i=1;while(i<=100){sum=sum+i;i++;}printf("Thesumfrom1to100is%d ",sum);}(2)下列程序的功能为:倒序打印26个英文字母。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_2.c存盘。#includemain(){charx;x='z';while(x!='a'){printf("%3d",x);x++;}} 改正后的程序:#includemain(){charx;x='z';while(x!='a'-1){printf("%3c",x);x--;}}(3)下列程序的功能为:输出如下的图形,要求顶端的*定位在第21字符位置,请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_3.c存盘。****************#includevoidmain(){inti,j;for(i=0;i<4;i++){for(j=0;j<=20;j++)printf(" ");for(j=0;j<2*i+1;j++)printf("*");}}改正后的程序:#includevoidmain(){inti,j;for(i=0;i<4;i++){for(j=0;j<=20-i;j++)printf("");for(j=0;j<2*i+1;j++)printf("*");printf(" ");}}2.程序填空(1)下列程序的功能为:用辗转相除法求两个正整数的最大公约数;请填写适当的符号或语句,使程序实现其功能,程序以文件名sy4_4.c存盘。提示: “辗转相除法”求两个正整数的最大公约数的算法如下:①将两数中大的那个数放在m中,小的放在n中。②求出m被n除后的余数r。③若余数为0则执行步骤(7);否则执行步骤(4)。④把除数作为新的被除数;把余数作为新的除数。⑤求出新的余数r。⑥重复步骤(3)到(5)。⑦输出n,n即为最大公约数。#includemain(){intr,m,n,t;scanf("%d%d",&m,&n);if(mmain(){intday,x1,x2;day=0;x1=1020;while(x1>0){x2=x1/2-2;x1=x2;day++;}printf(“day=%d ”,day);}(3)下列程序的功能为:输出100以内能被3整除且个位数为6的所有整数;请填写适当的符号或语句,使程序实现其功能,程序以文件名sy4_6.c存盘。 #includemain(){inti,j;for(i=0;i<10;i++){j=i*10+6;if(i%3!=0)continue;printf("%d",j);}}3.编程题(1)编写一个程序实现如下功能:计算1~100之间所有含8的数之和(程序以文件名sy4_7.c存盘)。参考程序:#includemain(){inti,sum=0;for(i=1;i<=100;i++)if(i%10==8||i/10==8)sum+=i;printf("sum=%d ",sum);}(2)编写一个程序实现如下功能:用下列近似公式计算e值,误差应小于10-5(程序以文件名sy4_8.c存盘)。…参考程序:#includemain(){inti=0;longn=1;floate=0,t=1;while(t>1e-5){e+=t;i++;n*=i;t=1.0/n;} printf("e=%f ",e);}(3)编写一个程序实现如下功能:验证下列结论:任何一个自然数n的立方都等于n个连续奇数之和。例如:13=1;23=3+5;33=7+9+11。要求:程序对每个输入的自然数计算并输出相应的连续奇数,直到输入的自然数为0时止(程序以文件名sy4_9.c存盘)。参考程序:#includemain(){intnum,a,i;while(1){printf("输入一个自然数(输入0则结束程序):");scanf("%d",&num);if(!num)break;a=num*num-num+1;//a为第一个奇数printf("%d*%d*%d=",num,num,num);for(i=1;i<=num-1;i++){printf("%d+",a);a+=2;}printf("%d ",a);}}(4)编写一个程序实现如下功能:求该校的学生总人数(学校有近千名学生,在操场上排队,5人一行余2人,7人一行余3人,3人一行余1人(程序以文件名sy4_10.c存盘))。要求:①使用循环结构编写程序。②可以使用break语句。③编译、运行程序,并写出结果参考程序:#includemain(){inti;for(i=900;i<=1000;i++)if(i%5==2&&i%7==3&&i%3==1) break;printf("学生总人数=%d ",i);}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭