《c语言上机实验答案.doc》由会员分享,可在线阅读,更多相关《c语言上机实验答案.doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实验四 循环结构程序设计(4学时)一、实验方式:一人一机二、实验目的:1、熟练掌握while语句、do-while语句和for语句。2、练习并掌握循环结构的嵌套形式。3、掌握循环结构的程序设计方法。三、实验内容: 说明:前四题为必做题目,后两题为选做题目。1、从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。(实验指导书P117)2、求所有的水仙花数。水仙花数是一个3位数的自然数,该数各位数的立方和等于该数本身。(实验指导书P118)3、判断输入的某个数是否为素数。若是,输出YES,否则输出NO。(书P123)4、计算的近似值。公式如下:/4=1-1/3+1/5
2、-1/7+,直到最后一项的绝对值小于10-6为止。(书P123)5、计算 s=1!+2!+20! 的值并输出。6、输入10个整数,统计并输出其中正数、负数和零的个数。四、实验步骤与过程:1.#include#includevoid main()float x,max,min;printf(please input scores:);scanf(%f,&x);max=min=x; while(x=0)if(xmax)max=x;if(xmin)min=x;scanf(%f,&x);printf(nmax=%fnmin=%fn,max,min);getch();2.#includevoid mai
3、n()int x,y,z;int k=100;while(k1000)x=k/100;y=(k/10)%10;z=k%10;if(k=x*x*x+y*y*y+z*z*z)printf(%dn,k);k+;3.#include#includevoid main()int i,x,yes,a;printf(enter integer number:);scanf(%d,&x);yes=1;i=2;a=(int)sqrt(double)x);while(yes&i=a)if(x%i=0)yes=0;i=i+1;printf(%d,x);if(yes)printf(YESn);elseprintf(N
4、On);getchar();4.#include#includevoid main()float pi,t,n;int sign=1;pi=0.0;n=1.0;t=1.0;while(fabs(t)=1e-6)t=sign/n;pi+=t;n+=2;sign=-sign;pi=pi*4;printf(pi=%fn,pi);getchar();5.#includevoid main()int i,j,n;double m,s=0;for(i=1;i=20;i+)for(j=1,m=1;j=i;j+)m*=j;s+=m;printf(result is:%g,s);getchar();6.#inc
5、ludevoid main()int a,b,c,n,i;a=0;b=0;c=0;printf(please enter ten numbers:);for(i=1;i0) b+;elsec+;printf(零的个数为:%d,a);printf(正数的个数为:%d,b);printf(负数的个数为:%d,c);实验五 综合实验1:结构化程序设计(2学时)一、实验方式:一人一机二、实验目的:1、进一步掌握选择结构、循环结构的编程特点。2、掌握C语言的结构化程序设计思想。3、学习利用循环结构实现的一些常用算法(如穷举、迭代、递推等)。三、实验内容: 说明:前两题为必做题目,后两题为选做题目。1、编
6、一程序,对于给定的一个百分制成绩,输出对应A,B,C,D,E表示的的等级成绩。设:90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。(书P93)2、百马百担问题。(实验指导书P121)3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。4、输出如下图案: * * * * * * *四、实验步骤与过程:1.#includevoid main()int score,temp,logic;char grade;logic=1;while(logic)printf(input score:);scanf(%d,&score);if(score100
7、)|(score0)printf(n error,input again!n);elselogic=0;printf(n);if(score=100)temp=9;elsetemp=(score-score%10)/10;switch(temp)case 9:grade=A;break;case 8:grade=B;break; case 7:grade=C;break;case 6:grade=D;break;case 5: case 4:case 3: case 2:case 1: case 0:grade=E;printf(score is :%d,the grade is:%c.n,s
8、core,grade);2.#includevoid main()int m,n,k;int sum=0;printf(各种驮法如下: n);for(m=1;m=100;m+)for(n=1;n=100-m;n+)k=100-m-n;if(k%2=0&3*m+2*n+0.5*k=100)printf(大马%3d匹;中马%3d匹;小马%3d匹.n,m,n,k);sum+;printf(共有%d种驮法.n,sum);3.#include void main()int m=0,n=0,k=0,j=0;char x;printf(请输入一行字符:n);scanf(%c,&x);while(x!=10)
9、if(x=48&x=65&x=97&x=122)n+;else if(x=32)j+;else k+;scanf(%c,&x);printf(这行字符中有数字%d个,英文字母%d个,空格%d个,其他字符%d个。n,m,n,j,k);4.#includevoid main()int i,j,k;for(i=1;i=4;i+)for(j=1;j=20-i;j+)printf( );for(k=1;k0;i-) for(j=1;j=20-i;j+)printf( );for(k=1;k=2*i-1;k+)printf(*);printf(n);getchar();实验六 函数程序设计(4学时)一、实
10、验方式:一人一机二、实验目的:1、掌握C语言中函数的三要素:函数定义、函数调用和函数说明。2、掌握通过参数在函数间传递数据的方法。3、掌握全局变量、局部变量、动态变量、静态变量的概念和使用方法。三、实验内容: 说明:前四题为必做题目,后两题为选做题目。1、从键盘输入三角形的3条边,调用三角形面积函数求出其面积,并输出结果。(实验指导书P130)2、输入整数n,输出高度为n的等边三角形。当n=5时的等边三角形如下:(实验指导书P134) * * * * *3、输入并运行以下程序,分析运行结果。 #include int a=5;int b=7; void main( ) int a=4,b=5,
11、c; c=plus(a,b); printf(“a+b=%dn”,c);plus(int x,int y) int z; z=x+y; return (z);4、求500以内的所有亲密数对。若正整数A的所有因子(包括1但不包括自身,下同)之和为B,而B的因子之和为A,则称A和B为一对亲密数对。(实验指导书P136)5、输入并运行以下程序,分析运行结果。 #include int d=1; fun(int p) static int d=5; d+=p; printf(“%d ”,d); return (d);void main( ) int a=3; printf(“%d ”,fun(a+fu
12、n(d);6、设计一个函数,输出整数n的所有素数因子。(书P157)四、实验步骤与过程:1.#include#includefloat area(float a,float b,float c)float s,p,area;s=(a+b+c)/2; p=s*(s-a)*(s-b)*(s-c);area=sqrt(p);return(area);void main()float x,y,z,ts;scanf(%f,%f,%f,&x,&y,&z);if(x+yz)&(x+zy)&(y+zx)ts=area(x,y,z); printf(area=%fn,ts); else printf(data
13、error!);2.#includevoid trangle(int n)int i,j;for(i=0;in;i+)for(j=0;j=20-i;j+)printf( );for(j=0;j=2*i;j+)printf(*);putchar(n);void main()int n;printf(请输入一个整数:);scanf(%d,&n);printf(n);trangle(n);3.#include int a=5;int b=7; void main( ) int a=4,b=5,c; c=a+b; printf(a+b=%dn,c);plus(int x,int y) int z; z
14、=x+y; return (z);4.#includeint facsum(int m)int sum=1,f=2;while(f=m/2)if(m%f=0)sum=sum+f;f+;return sum; void main()int m=3,n,k;while(m=500)n=facsum(m);k=facsum(n);if(m=k&m=n)printf(亲密对数是:%dn%dn,m,n);m+;5.#include int d=1; fun(int p) static int d=5; d+=p; printf(%d ,d); return (d);void main( ) int a=
15、3; printf(%d ,fun(a+fun(d);6.#includeint prime(int n)int i,flag=1;for(i=2;i=n/2;i+);if(n%i=0)flag=0;return flag; return flag;void factor(int n) int i;i=2;while(i=n)if(n%i=0)&prime(i)printf(%d ,i);n=n/i;continue;i+; void main()int num;printf(Enter num: );scanf(%d,&num);printf(prime factor is: n);factor(num);