实验四 循环结构程序设计(答案).doc_第1页
实验四 循环结构程序设计(答案).doc_第2页
实验四 循环结构程序设计(答案).doc_第3页
实验四 循环结构程序设计(答案).doc_第4页
实验四 循环结构程序设计(答案).doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验四 循环结构程序设计 (解答)1改错题(1)下列程序的功能为:求1100之和(和值为5050)并输出。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_1.c存盘。#include main() int i,sum=0; i=1; while(i100) sum=sum+i; i+; printf(“The sum from 1 to 100 is %dn”,sum); 改正后的程序:#include main() int i,sum=0; i=1; while(i=100) sum=sum+i; i+; printf(The sum from 1 to 100 is %dn,sum);(2)下列程序的功能为:倒序打印26个英文字母。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_2.c存盘。#include main() char x; x=z; while(x!=a) printf(%3d,x); x+; 改正后的程序:#include main() char x; x=z; while(x!=a-1) 或while(x=a) 或 while(x!=96) printf(%3c,x); x- -; (3)下列程序的功能为:输出如下的图形,要求顶端的*定位在第21字符位置,请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_3.c存盘。 * * * *#include void main() int i,j; for (i=0;i4;i+) for (j=0;j=20;j+) printf(n); for (j=0;j2*i+1;j+) printf(*); 改正后的程序: #include void main() int i,j; for (i=0;i4;i+) for (j=0;j=20-i;j+) printf( ); for (j=0;j2*i+1;j+) printf(*); printf(n); 2程序填空(1)下列程序的功能为:用辗转相除法求两个正整数的最大公约数;请填写适当的符号或语句,使程序实现其功能,程序以文件名sy4_4.c存盘。提示:“辗转相除法” 求两个正整数的最大公约数的算法如下: 将两数中大的那个数放在m中,小的放在n中。 求出m被n除后的余数r。 若余数为0则执行步骤(7);否则执行步骤(4)。 把除数作为新的被除数;把余数作为新的除数。 求出新的余数r。 重复步骤(3)到(5)。 输出n,n即为最大公约数。 #include main () int r, m, n, t ; scanf (%d%d,&m,&n); if (mn) t=m;m=n;n=t; 或 t=m,m=n,n=t; r = m%n; while (r) m=n;n=r;r= m%n ; printf (%dn,n);(2)下列程序的功能为:计算1020个西瓜几天后能卖完(第一天卖了一半多两个,以后每天卖剩的一半多两个);请填写适当的符号或语句,使程序实现其功能,程序以文件名sy4_5.c存盘。#include main() int day,x1,x2; day=0; x1=1020; while( x10 ) x2= x1/2-2 ; x1=x2;day+; printf(“day=%dn”,day); (3)下列程序的功能为:输出100以内能被3整除且个位数为6的所有整数;请填写适当的符号或语句,使程序实现其功能,程序以文件名sy4_6.c存盘。#include main() int i,j; for(i=0; i10 ; i+) j=i*10+6; if ( i%3!=0 ) continue; printf(%d,j); 3编程题(1)编写一个程序实现如下功能:计算1100之间所有含8的数之和(程序以文件名sy4_7.c存盘)。参考程序:#include main() int i, sum=0; for(i=1; i=100; i+) if(i%10=8 | i/10=8) sum+=i; printf(sum=%dn,sum);(2)编写一个程序实现如下功能:用下列近似公式计算e值,误差应小于10-5(程序以文件名sy4_8.c存盘)。参考程序:#include main() int i=0 ; long n=1; float e=0, t=1; while(t1e-5) e+=t;i+;n*=i;t=1.0/n; printf(e=%fn,e);(3)编写一个程序实现如下功能:验证下列结论:任何一个自然数n的立方都等于n个连续奇数之和。例如: 13 =1 ; 23 =3+5 ; 33 =7+9+11 。 要求:程序对每个输入的自然数计算并输出相应的连续奇数,直到输入的自然数为 0 时止(程序以文件名sy4_9.c存盘)。参考程序:#include main() int num, 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(%dn, a); (4)编写一个程序实现如下功能:求该校的学生总人数(学校有近千名学生,在操场上排队,5人一行余2人,7人一行余3人,3人一行余1人(程序以文件名sy4_10.c存盘)。要求: 使用循环结构编写程序。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论