C语言程序设计基础实验报告5_第1页
C语言程序设计基础实验报告5_第2页
C语言程序设计基础实验报告5_第3页
C语言程序设计基础实验报告5_第4页
C语言程序设计基础实验报告5_第5页
全文预览已结束

下载本文档

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

文档简介

1、实验5 循环控制(二)一、实验目的1、掌握用while语句,do-while语句和for语句实现循环的方法。2、掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。3、进一步学习调试程序的技巧。二、实验内容和步骤编程序并上机调试运行。1、给定程序FILL1.C的功能是:从键盘上输入两个正整数x,y,求它们的最大公约数。例如:如果从键盘上输入24, 36,程序的输出应为:max is : 12。 程序有两个空(1)、(2)需要补充完整。请将程序中的_(1)_和_(2)_删除后,在相应的位置填入正确答案并调试直到得到正确结果为止。注意:不要随意改动程序,不得增行或删行,也不得更改

2、程序的结构! #include #include #include void main( ) int n, m, t ; clrscr( ); printf(Please enter two numbers:); scanf(%d,%d, &n, &m); if(n m) t = n; n = m; m = t; t = n % m; while( t ) n = m; /*found*/ _ _ _m=t_ _ ; t = n % m; /*found*/printf(max is : %d, _ _m_ _);#include#include#includevoid main()int n

3、,m,t,a,b,min;printf(Please enter two numbers:n);scanf(%d,%d,&n,&m);a=n;b=m;min=0;if(nn,观察结果是否正确。再输入时,使mn,观察结果是否正确。修改程序,不论m和n为何值(包括负整数),都能得到正确结果。在此基础上,输入两个正整数m和n,求他们的最小公倍数。2、打印出所有的“水仙花”数,“水仙花”数是指一个3位数,其各位数字的立方之和等于该数本身。如153 = 13 + 53 + 33。#includevoid main()int num,s,a,b,c;for (num=100;num=999;num+)a=

4、num%10;b=num/10%10;c=num/100;s=a*a*a+b*b*b+c*c*c;if (num=s)printf(%dn,num);3、以下给定程序MODI1.C的功能是:输出11000之间的所有完数,并输出每个完数的所有因子。所谓完数,就是指一个正整数,它的各因数之和等于其自身。例如,28的因数为1、2、4、7、14,28=1+2+4+7+14,因此,28是一个完数。 程序中有两处错误,错误都在提示行: /*found*/的下面一行。请改正程序中的错误,使它能得出正确的结果。注意:程序中的其它地方不要随意改动,不得增行或删行,也不得更改程序的结构! #include voi

5、d main() int i,j, t; for(i=1;i=1000;i+) t=0; for(j=1;ji;j+) if(i%j=0) t+=j; if(t=i) printf(n%d is a full numbern,i);printf(factors of %d are:t,i); for(j=1;j20输出得票数a,b,c,d#includevoid main()int a,b,c,d,i;char ch;i=1;a=0;b=0;c=0;d=0;while(1)if(i20) break;else ch=getchar();switch(ch) case A:a+;i+;break

6、;case B:b+;i+;break;case C:c+;i+;break;case D:d+;i+;break;printf(a=%d,b=%d,c=%d,d=%dn,a,b,c,d);5、输入一个位数,要求逆序打印每一位数字,并打印逆序整数,要求使用循环完成。请考虑:如不限定几位数(即只要不超过整数范围),应如何修改程序。#include#includevoid main()int s,a,i,s2;double sum;printf(input a numbern);scanf(%d,&s);a=0;i=0;s2=s;while (s!=0) a=s%10;s=s/10;i+;prin

7、tf(%dn,a);sum=0;a=0;i-;while(i=0)a=s2%10;s2=s2/10;sum=sum+a*pow(10,i);i-;printf(%lfn,sum);6、打印1!+2!+3!+20!之和。#includevoid main()long int a,i;double sum,s;i=1;sum=0;while(i=20)a=1;i+;s=1;while(ai)s=s*a;a+;sum=sum+s;printf(%lfn,sum);7、打印数列2/1,3/2,5/3,8/5,13/8,21/13的前20项之和。#includevoid main()int i;floa

8、t a1,b1,c1,a2,b2,c2;double sum;a1=2;b1=3;c1=5;a2=1;b2=2;c2=3;i=4;sum=2.0/1+3.0/2+5.0/3;while (i=20)a1=b1;b1=c1;c1=a1+b1;a2=b2;b2=c2;c2=a2+b2;sum=sum+(float)(c1)/(float)(c2);i+;printf(%lfn,sum);8、以下给定程序MODI1.C的功能是:打印输出以下图形 * * * * 程序中有两处错误,错误都在提示行:/*found*/的下面一行。请改正程序中的错误,使它能得出正确的结果。 注意:程序中的其它地方请不要随意

9、改动,不得增行或删行,也不得更改程序的结构。 #include void main() int i,j; for(i=1;i=5;i+) /*found*/ printf(“n”); for(j=1;j=10-i;j+) printf( ); /*found*/ for(j=1;j=2*i-1;j+) printf(*); printf(n); 9、以下给定程序MODI1.C的功能是: 从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。 例如,当s中的数为:7654321时,t中的数为:7531。 程序中有两处错误,错误都在提示行:/*found*/的下面一行。请改正程序中的错误,使它能得出正确的结果。 注意:程序中的其它地方不要随意改动,不得增行或删行,也不得更改程序的结构! #include void main() long s, t, sl=10; printf(nPleas

温馨提示

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

评论

0/150

提交评论