《郑州大学c语言实验报告册答案.doc》由会员分享,可在线阅读,更多相关《郑州大学c语言实验报告册答案.doc(109页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验一1、#include void main() int a,b,c; scanf(%d,%d,%d,&a,&b,&c); printf(sum=%dn,a+b+c);2、#include void main() int a,b,he,cha,ji,shang; scanf(%d,%d,&a,&b); he=a+b; cha=a-b; ji=a*b; shang=a/b; printf(he=%dn,he); printf(cha=%dn,cha); printf(ji=%dn,ji); printf(shang=%dn,shang);3、#include void main() int a
2、,b,c,d,e,sum; scanf(%d,%d,%d,%d,%d,&a,&b,&c,&d,&e); sum=a*a+b*b+c*c+d*d+e*e; printf(sum=%dn,sum);4#include include void main() double a,b,c,sum; scanf(%lf,%lf,%lf,&a,&b,&c); sum=sqrt(a)+sqrt(b)+sqrt(c); printf(sum=%fn,sum);5、#include #define PI 3.14159void main()float r,l,s;printf(请输入圆半径(r):);scanf(
3、%f,&r);l=2*PI*r;s=r*r*PI;printf(n圆周长 l=%6.2fn,l);printf(圆面积 s=%6.2fn,s);6、#include void main() printf(what a beautiful campus!n); printf(I wish you every success!n);实验二1、#include void main() int a,b,c;float x; scanf(a=%d,b=%d,c=%d,x=%f,&a,&b,&c,&x); printf(%f,a*x*x*x+b*x*x+c);2、#include void main()
4、int a,b; scanf(a=%d,b=%d,&a,&b); printf(ji=%d,shang=%d,yushu=%d,a*b,a/b,a%b);3、#include void main()float c,f;printf(请输入一个华氏温度f:);scanf(%f,&f);c=5.0/9.0*(f-32);printf(n摄氏温度为: %5.2fn,c);4、#include #define PI 3.14159void main()float r,l,s;printf(请输入圆半径(r):);scanf(%f,&r);l=2*PI*r;s=r*r*PI;printf(n圆周长 l=
5、%6.2fn,l);printf(圆面积 s=%6.2fn,s);5、#include void main() float c=3.; printf(%f,c); 6、#include void main() int a=2; a+=a; printf(%dn,a); a-=2; printf(%dn,a); a*=2+3; printf(%dn,a); a/=a+a; printf(%dn,a);实验三1、#include void main()int a=3,b=4,c=5;float x=1.414,y=1.732,z=2.712;printf(a=%-7d b=%-7d c=%-7dn
6、x=%-7.3f y=%-7.3f z=%-7.3f,a,b,c,x,y,z);2、#include void main()int a,b,c;float x,y,z;scanf(%d,&a);scanf(%d,&b);scanf(%d,&c);scanf(%f,&x);scanf(%f,&y);scanf(%f,&z);printf(a=%d,b=%d,c=%dnx=%.3f,y=%.3f,z=%.3f,n,a,b,c,x,y,z);3、#include void main()int a,b,c,x1,x2;scanf(%d,%d,%d,&a,&b,&c);x1=a+b+c;x2=a-b-c
7、;printf(x1=a+b+c=%d+%d+%d=%dn,a,b,c,x1);printf(x2=a-b-c=%d-%d-%d=%dn,a,b,c,x2);4、#include void main()char c1,c2,c3,c4;scanf(%c%c%c%c,&c1,&c2,&c3,&c4);printf(%d,%d,%d,%d,c1,c2,c3,c4);5、#include void main()int d1=60,d2=61,d3=62,d4=63;printf(%c,%c,%c,%c,d1+5,d2+5,d3+5,d4+5);6、#include void main()int m=
8、,n=;printf(m=%d n=%d,m,n);7、#include void main()int a=20,b=64,c=127;printf(a=%d,%o,%xn,a,a,a);printf(b=%d,%o,%xn,b,b,b);printf(c=%d,%o,%xn,c,c,c);8、#include void main()float x,y,z;x=1.414;y=1.732;z=2.712;printf(%6.2f,%6.2f,%6.2f,x,y,z);9、#include void main() printf(%.6f%,1.0/3);10、#include void main
9、()int a,b,a=getchar(b=getchar()c=getchar();a=a+32;b=b+32;c=c+32;putchar(a);putchar(b);putchar(c);实验四 选择结构程序设计1.有三个整数a,b,c, 由键盘输入,输出其中最大的数。参考程序main() int a,b,c,max; printf(请输入a,b,c=); scanf(%d,%d,%d,&a,&b,&c); max=a; if (maxb) max=b; if (maxc) max=c; printf(n最大数max=%dn,max);2参看C程序设计第三版 谭浩强 第108页的例5.6
10、.3有一函数:写一程序,输入x, 输出y 。main() float x,y; printf(请输入x=); scanf(%f,&x); if (x1) y=x; else if (x=90) r=A; else if (s=80) r=B ; else if(s=70) r=C ; else if(s=60) r=D ; else r=E; printf(n score=%d result=%c n, s, r);参考程序2main() int s,i; char r; printf(请输入score=); scanf(%d,&s); i=(s-s%10)/10;switch (i) cas
11、e 10:case 9: r=A; break;case 8: r=B ; break;case 7: r=C ; break;case 6: r=D ; break;default: r=E; printf(n score=%d result=%c n, s, r);5. 企业发放奖金I根据利润提成,以下是提成办法: I=10 万部分 10% 10I=20 万部分 7.5% 20I=40 万部分 5% 40I=60 万部分 3% 60I100 万部分 1%从键盘输入当月利润I,求应发奖金总数。要求:用if语句编程序;用switch语句编程序。参考程序main() float b1,b2,b3
12、,b4,b5,b6,I; printf(请输入本月利润:); scanf(%f,&I); b1=b2=b3=b4=b5=b6=0; if (I100) b6=(I-100)*0.01; b5=40*0.015; b4=20*0.03; b3=20*0.05; b2=10*0.075; b1=10*0.1; else if (I60) b5=(I-60)*0.015; b4=20*0.03; b3=20*0.05; b2=10*0.075; b1=10*0.1; else if(I40) b4=(I-40)*0.03; b3=20*0.05; b2=10*0.075; b1=10*0.1; el
13、se if(I20) b3=(I-20)*0.05; b2=10*0.075; b1=10*0.1; else if(I10) b2=(I-10)*0.075; b1=10*0.1; else b1=I*0.1; printf(n本月利润 I=%f 万元; 奖金 b=%f 万元n,I,b1+b2+b3+b4+b5+b6);参考程序main() float b1,b2,b3,b4,b5,b6,I,B; printf(请输入本月利润:); scanf(%f,&I); B=0; b6=(I-100)*0.01; b5=40*0.015; b4=20*0.03; b3=20*0.05; b2=10*0
14、.075; b1=10*0.1; if (I100) B+=b1+b2+b3+b4+b5+b6; else if (I60) B+=(I-60)*0.015+b4+b3+b2+b1; else if(I40) B+=(I-40)*0.03+b3+b2+b1; else if(I20) B+=(I-20)*0.05+b2+b1 else if(I10) B+=(I-10)*0.075+b1; else B=I*0.1; printf(n本月利润 I=%f 万元; 奖金 B=%f 万元n,I,B);参考程序3main() float b1,b2,b3,b4,b5,b6,I,B; int n; pr
15、intf(请输入本月利润:); scanf(%f,&I); B=0; b6=(I-100)*0.01; b5=40*0.015; b4=20*0.03; b3=20*0.05; b2=10*0.075; b1=10*0.1; n=i/10; switch(n) case 0: B=I+0.1; break; case 1: B+=(I-10)*0.075+b1; break; case 2: case 3: B+=(I-20)*0.05+b2+b1; break; case 4: case 5: B+=(I-40)*0.03+b3+b2+b1; break; case 6: case 7: c
16、ase 8: case 9: B+=(I-60)*0.015+b4+b3+b2+b1; break; case 10: default : B+=b1+b2+b3+b4+b5+b6; printf(n本月利润 I=%f 万元; 奖金 B=%f 万元n,I,B);6给一个不多于5位的正整数,要求:求出它是几位数;分别打印出每一位数字;按逆序打main() int n1,n2,n3,n4,n5,n; long num; printf(请输入0-99999之间的一个数:); scanf(%ld,&num); if (num9999) n=5; else if(num999) n=4; else if
17、(num99) n=3; else if(num9) n=2; else n=1;n3=num/100%10; /*取百位*/ n4=num/10%10; /*取十位*/ n5=num%10; /*取个位*/ printf(n 原数据 num=%ldn,num); printf( 反序数为: ); switch(n) case 1: printf(%dn,n5); break; case 2: printf(%d%dn,n5,n4); break; case 3: printf(%d%d%dn,n5,n4,n3); break; case 4: printf(%d%d%d%dn,n5,n4,n
18、3,n2); break; case 5: printf(%d%d%d%d%dn,n5,n4,n3,n2,n1); break; n1=num/10000; /*取万位*/ n2=num/1000%10; /*取千位*/转 郑州大学09级C语言实验报告答案(实验5实验14)转载自 真诚相约 转载于2010年05月05日 17:16 阅读(3) 评论(0) 分类: 大学生活举报实验五 循环(一)1、参看谭浩强(第三版)P1141152、main() int i , j; for (i=1 ; i11; i+) for (j=1; j=40-i ; j+) printf( ); for (j=1;
19、 j=1.0e-5; n+) t=1.0/(n*n+1); sum=sum+p*t ; p=-p; printf(n sum= %f n,sum);4、main() char c; int k; int n1=0,a1=0,u1=0; /*分别存放数字、字母及其它字符个数*/ printf(n Input 30 chars:); for (k=1; k=A&c=a&c=0 & c=9) n1+; else u1+; printf(n 09=%d; AZ az=%d ; otherwise=%dn,n1,a1,u1);5、main() int i; long int f1, f2; f1=0;
20、f2=1; for (i=1; i=10; i+) printf(%12ld %12ld,f1,f2); if (i%2=0) printf(n); /*输出两次后换行*/ f1=f1+f2; f2=f2+f1; 实验六 循环(二)1、main() float sum=0,mul=1; int i; for(i=1;i=10;i+) mul*=i; sum+=mul; printf(n 1!+2!+3!+4!+.+10!=%fn,sum);2、main() int k,m; for( k=1; k=9; k+) for (m=1; m=k; k+) printf(%d*%d=%-2d ,m,k
21、,m*k); printf(n); 3、main() int i , j; for (i=1 ; i5 ; i+) for (j=1; j=40-i ; j+) printf( ); for (j=1; j0 ; i-) for (j=1; j=40-i ; j+) printf( ); for (j=1; j=2*i-1;j+) printf(*); printf(n); 4、main() int x,y,z; printf(n 大公鸡 母鸡 雏鸡); for (x=0; x20; x+) for (y=0;y34;y+) z=100-x-y; if (z%3!=0) continue; i
22、f (5*x+3*y+z/3=100) printf(n%8d %8d %8d,x,y,z); 5、main() long s=0,sn=0; int k, n; printf(n Input n=); scanf(%d,&n); for (k=1; k=n ; k+) sn=sn+k; s=s+sn; printf(n n=%d ; s=%ld n,n,s);实验七 数组(一)1、用随机函数产生15个100以内的随机整数存入一维数组,然后分三行输出,每行3个数。#include void main() int a15,i; for (i=0; i15; i+) ai=rand();/* 产生
23、-9032767之间的随机整数*/ if(ai0) ai= -ai; ai=ai%101; if(i%5=0) printf(n); printf(%8d ,ai); 2、求出n个学生一门课程中的最高成绩和最低成绩及高于平均成绩的人数。#define N 10void main() float aN=78,86,65,55,91,83,78,90,69,81; float max=0,min=100,avg=0; int i, num=0; for (i=0; imax) max=ai;if(aimin) min=ai; avg=avg+ai; avg=avg/N; for (i=0; iav
24、g) num+; printf(n max=%.2f, min=%.2fn,max,min); printf(n %.2f=%dn,avg,num);3、使用数组,求出下列数列的前20项:1, 1, 2, 4, 7, 13, void main() long a20=1,1,2; int i; for(i=3;i20;i+) ai=ai-1+ai-2+ai-3; for(i=0;i20;i+) if(i%5=0) printf(n); printf(%9ld ,ai);4、将一个一维数组反序放置 如:a=67,89,76,98.66反序放置后 a=66,98,76,8967#define N
25、5void main() int aN=67,89,76,98,66, i, k;for(i=0; iN/2; i+) k=ai;ai=aN-i-1;aN-i-1=k;printf(n a=%d,a0);for(i=1;iN;i+)printf(,%d,ai);printf(n);5、有10个学生一门课程成绩,使用选择排序法将成绩由高向低排序.#define N 10void main()int aN=67,89,76,98,66,55,77,79,96,89;int i, j, p, k;for(i=0; iN-1; i+) p=i; for ( j=i+1; jN;j+)if (apaj)
26、 p=j; if (p!=i) k=ai; ai=ap; ap=k; for( i=0; iN; i+)printf(%4d, ai);实验七 数组(二)1、将一个一维数组a9中各元素值按行的顺序放入二维数组b33中。void main()int a9=1,2,3,4,5,6,7,8,9,b33,i,j,k=0; for (i=0;i3;i+) for (j=0; j3; j+) bij=ak+; printf(%8d,bij); printf(n);2、有一mn矩阵,各元素由随机数产生,将矩阵增加一列,求矩阵每一行的元素值之和,并将它放入增加列.#include #define m 3#de
27、fine n 4void main() long a?n+1; int i,j; for (i=0;im;i+) ain=0; for(j=0;jn;j+) aij=rand();ain=ain+aij; printf(%8ld,aij); printf( %8ld n,ain);3、有一mn矩阵,找出最大元素值及其所在的行、列位置。#include #define m 3#define n 4main() long a?n; int i,j,row=0,col=0; for (i=0;im;i+) for (j=0; jn; j+) aij=rand(); printf(%8ld,aij);
28、 if (arowcolaij) row=i;col=j; printf(n); printf(n max=%ld row=%d col=%d n,arowcol,row+1,col+1);4、有n个考生,每个考生有考号和总分成绩,如果录取m人,确定录取分数线并输出被录取考生的考号和成绩。void main() float a1002,temp,temp1; int i,j,p,n; printf(n input number of student n=); scanf(%d,&n); for (i=0;in;i+) printf(n input num,score of %dth stude
29、nt:,i+1); scanf(%f,%f,&temp1,&temp); ai0=temp1;ai1=temp; for (i=0; in-1; i+) p=i; for (j=i+1; jn ; j+) if(ap1aj1) p=j; if (p!=i) temp=ap1;ap1=ai1;ai1=temp; temp=ap0;ap0=ai0;ai0=temp; printf(n input admittable number:);scanf(%d,&p);printf(n output name list: n);for (i=0; ip ; i+) printf(%10.0f %10.1f
30、n,ai0,ai1);5、将矩阵m(n,n)对角线上的元素置为1,他置0.#define n 10void main() int ann=0, i, j; for(i=0;in; i+) aii=1; ain-1-i=1; for(j=0;jn;j+) printf(%4d,aij); printf(n); 实验十四 文件1、 打开开始-程序-附件-记事本输入:1001 zhangsan 78 90 891002 lisi 99 88 771003 wangwu 89 76 551004 zhaoliu 53 55 44 存在e盘根目录下,文件名为chengji2、#include #incl
31、ude #define N 5main( ) FILE *fp; int num,sc1,sc2,sc3,score,i; char name10;回复 if(fp=fopen(e:chengji.txt,r)=NULL) printf(Error); exit(0); for (i=1;i=N;i+) fscanf(fp,%d%s%d%d%dn,&num,name,&sc1,&sc2,&sc3); score=sc1+sc2+sc3; printf(%6d%10s%6d%6d%6d%6dn,num,name,sc1,sc2,sc3,score/3); fclose(fp);3、#include #include #define N 5struct student int num; char name10; int score; char dianhua10;main( ) FILE *fp; int i; struct student stuN; clrscr(); if(fp=fopen(e:xuesheng.txt,w)=NULL) printf(Error); exit(0);
限制150内