1、C语言上机实验答案实验一 上机操作初步(2学时)1、输出入下信息:(实验指导书P79) * Very Good *2、计算两个整数的和与积。(实验指导书P81)3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。(书P3)4、在屏幕上显示一个文字菜单模样的图案: = 1 输入数据 2 修改数据 3 查询数据 4 打印数据 =5、从键盘上输入两个整数,交换这两个整数。1、#include void main( ) printf(“*n”); printf(“ Very Goodn”); printf(“*n”);2、#include void main( ) int a,
2、b,c,d; printf(“Please enter a,b:”); scanf(“%d,%d”,&a,&b); c=a+b; d=a*b; printf(“%d+%d=%dn”,a,b,c); printf(“%d*%d=%dn”,a,b,d);3、#include #include void main( ) double x,s; printf(“Please input value of x:”); scanf(“%lf”,&x); s=cos(x); printf(“cos(%lf)=%lfn”,x,s);4、#include void main( ) printf(“=n”); p
3、rintf(“ 1 输入数据 2 修改数据n”); printf(“ 3 查询数据 4 打印数据n”); printf(“=n”);5、#include void main( ) int x,y,t; printf(“Please enter x and y:”); scanf(“%d%d”,&x,&y); t=x; x=y; y=t; printf(“After swap:x=%d,y=%dn”,x,y);实验二 简单的C程序设计(4学时) 1、输入r1、r2,求出圆形垫片面积。(实验指导书P84)2、输入华氏温度h,输出摄氏温度c。(实验指导书P85)3、从键盘输入一个3位整数,将输出该数
4、的逆序数。(实验指导书P89)4、输入并运行以下程序,分析运行结果。 #include void main( ) int i,j; i=8; j=10; printf(“%d,%dn”,+i,+j); i=8; j=10; printf(“%d,%dn”,i+,j+); i=8; j=10; printf(“%d,%dn”,+i,i); i=8; j=10; printf(“%d,%dn”,i+,i);5、输入三角形三条边的边长,求三角形的面积。(书P55)6、输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出。(书P55)1、#include #define PI 3.14 v
5、oid main( ) float r1,r2; double s1,s2,s; printf(“Please enter r1,r2:n”); scanf(“%f%f”,&r1,&r2); s2=r2*r2*PI; s1=r1*r1*PI; s=s2-s1; printf(“s=%lfn”,s);2、#include void main( ) float h,c; printf(“请输入华氏温度:”); scanf(“%f”,&h); c=5.0/9*(h-32); printf(“n摄氏温度:%fn”,c);3、#include void main( ) int a,b,c,x,y; pr
6、intf(“请输入一个3位的正整数:n”); scanf(“%d”,&x); a=x/100; /*求x的百位数*/b=(x-a*100)/10; /*求x的十位数*/c=x-a*100-b*10; /*求x的个位数*/y=c*100+b*10+a;printf(“%d:%dn”,x,y); 4、运行结果:9,11 8,10 9,8 8,85、#include #include void main( ) int a,b,c; double area,s; printf(“Please enter a,b,c:”); scanf(“%d,%d,%d”,&a,&b,&c); s=(double)(
7、a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(“area=%.2lfn”,area);6、#include void main( ) char a,b,c; float x; printf(“Please enter:n”); a=getchar(); b=getchar(); c=getchar(); x=(a+b+c)/3.0; printf(“(a+b+c)/3=%.2fn”,x); 实验三 选择结构程序设计(2学时)1、读入3个分别表示箱子长、宽、高的整数值,判断并输出该箱子是立方体还是长方体。(实验指导书P104)2、输入某一年月,输出该
8、月的天数。(实验指导书P105)3、有一函数: x (x1)y= 2x-1 (1x10) 3x-11 (x10) 编写程序,输入x值,输出y值。4、从键盘输入一个字符,如果该字符为小写字母,则转换为大写字母输出;如果该字符为大写字母,则转换为小写字母输出;如果为其他字符,原样输出。(书P94)5、输入4个整数,要求按由小到大的顺序输出。1、#include void main( ) int l,w,h; printf(“请输入箱子的长、宽、高:n”); scanf(“%d%d%d”,&l,&w,&h); if(l=w&w=h) /*如果长、宽、高相等,则为立方体*/ printf(“该箱子是立
9、方体。”); else printf(“该箱子是长方体。”); 2、#include void main( ) int year,month,days; printf(“Please enter year and month:n”); switch(month) case 2: if(year%4=0&year%100!=0|year%400=0) days=29; else days=28; break; case 1:case 3:case 5:case 7:case 8:case 10:case 12: days=31; break; case 4: case 6: case 9: ca
10、se 11: days=30;printf(“%d年%d月有%d天n”,year,month,days);3、#include void main( ) float x,y; printf(“Please input x:n”); scanf(“%f”,&x); if(x1) y=x; else if(x10) y=2*x-1; else y=3*x-11; printf(“y=%fn”,y);4、#include void main( ) char x; printf(“Enter a char:n”); x=getchar();if(x=a&x=A&x=Z) x=x+32;putchar(
11、x);5、#include void main( ) int a,b,c,d,t; printf(“请输入4个整数:”); scanf(“%d%d%d%d”,&a,&b,&c,&d); if(ab) t=a; a=b; b=t; if(ac) t=a; a=c; c=t; if(ad) t=a; a=d; d=t; if(bc) t=b; b=c; c=t; if(bd) t=b; b=d; d=t; if(cd) t=c; c=d; d=t; printf(“排序结果如下:n”); printf(“%d,%d,%d,%dn”,a,b,c,d);实验四 循环结构程序设计(4学时)1、从键盘上输
12、入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。(实验指导书P117)2、求所有的水仙花数。水仙花数是一个3位数的自然数,该数各位数的立方和等于该数本身。(实验指导书P118)3、判断输入的某个数是否为素数。若是,输出YES,否则输出NO。(书P123)4、计算的近似值。公式如下:/4=1-1/3+1/5-1/7+,直到最后一项的绝对值小于10-6为止。(书P123)5、计算 s=1!+2!+20! 的值并输出。6、输入10个整数,统计并输出其中正数、负数和零的个数。1、#include void main( ) float x,max,min; printf(“Ple
13、ase 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); 2、#include void main( ) int x,y,z; int k=100; while(k=999) x=k/100; y=(k-x*100)/10; z=k-x*100-y*10; if(k=x*x*x+y*y*y+z*z*z) printf(“%dn”,k); k+; 3、#include #in
14、clude void 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+;printf(“%d”,x);if(yes) printf(“YESn”);else printf(“NOn”); 4、#include #include void main( ) float pi,t,n; int sign=1; pi=0; n=1; t=1; while(fabs(t)=
15、1e-6) t=sign/n; pi+=t; n+=2; sign=-sign;pi=pi*4;printf(“pi=%fn”,pi); 5、#include void main( ) float s=0,t=1; int n; for(n=1;n=20;n+) t=t*n; s=s+t;printf(“1!+2!+20!=%fn”,s); 6、#include void main( ) int x,i,a1=0,b1=0,c1=0; for(i=1;i0) a1+;else if(x0) b1+;else c1+;printf(“整数有%d个,负数有%d个,零有%d个n”,a1,b1,c1)
16、; 实验五 综合实验1:结构化程序设计(2学时)1、编一程序,对于给定的一个百分制成绩,输出对应A,B,C,D,E表示的的等级成绩。设:90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。(书P93)2、百马百担问题。(实验指导书P121)3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。4、输出如下图案: * * * * * * *1、#include void main( ) int score,temp,logic; char grade;logic=1;while(logic) printf(“Input score:”); sca
17、nf(“%d”,&score); if(score100|score0) printf(“nError,Input again!n”); else logic=0; printf(“n”);if(score=100) temp=9;else temp=score/10;switch(temp) case 9: grade=A;break; case 8: grade=B;break;case 7: grade=C;break;case 6: grade=D;break;default: grade=E;printf(“Score is %d,the grade is %c.n”,score,g
18、rade);2、#include void 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&m*3+n*2+k/2=100) printf(“大马%3d匹;中马%3d匹;小马%3d匹.n”,m,n,k); sum+;printf(“共有%d种驮法.n”,sum); 3、#include void main( ) char c; int letter=0,space=0,digit=0,other=0; printf(“请输入一行
19、字符:n”); while(c=getchar( )!=n) if(c=a&c=A&c=0&c=9) digit+;else other+;printf(“字母数=%d,空格数=%dn”,letter,space); printf(“数字数=%d,其他字符数=%dn”,digit,other); 4、#include void main( ) int i,j,k;for(i=0;i=3;i+) for(j=0;j=2-i;j+) printf(“ ”);for(k=0;k=2*i;k+) printf(“*”);printf(“n”);for(i=0;i=2;i+) for(j=0;j=i;j
20、+) printf(“ ”);for(k=0;k=4-2*i;k+) printf(“*”);printf(“n”);实验六 函数程序设计(4学时)1、从键盘输入三角形的3条边,调用三角形面积函数求出其面积,并输出结果。(实验指导书P130)2、输入整数n,输出高度为n的等边三角形。当n=5时的等边三角形如下:(实验指导书P134) * * * * *3、输入并运行以下程序,分析运行结果。 #include int a=5;int b=7; void main( ) int a=4,b=5,c; c=plus(a,b); printf(“a+b=%dn”,c);plus(int x,int y
21、) 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+fun(d);6、设计一个函数,输出整数n的所有素数因子。(书P157)1、#include #includ
22、e float 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(x0&y0&z0&x+yz&y+zx&x+zy) ts=area(x,y,z); printf(“area=%fn”,ts);else printf(“data error!n”); 2、#include void trangle(int n) i
23、nt i,j; for(i=0;in;i+) for(j=0;j=n-i;j+) putchar( ); /*打印每一行的空格*/ for(j=0;j=2*i;j+) putchar(*); /*打印每一行的*号*/ putchar(n);void main( ) int n; printf(“Please enter n:”); scanf(“%d”,&n); printf(“n”); trangle(n);3、a+b=94、#include int facsum(int m) int sum=1,f=2; while(f=m/2) if(m%f=0) sum=sum+f; f+;retur
24、n sum;void main( ) int m=3,n,k; while(m=500) n=facsum(m); k=facsum(n); if(m=k&m=n) printf(“%d,%dn”,m,n); m+; 5、6 15 156、#include int prime(int n) int i,flag=1; for(i=2;i=n/2;i+) if(n%i=0) flag=0; retun 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
25、/i; continue; i+; void main( ) int num; printf(“Enter num:”); scanf(“%d”,&num); printf(“prime factor is:n”); factor(num);实验七 数组程序设计(4学时)1、下列程序的功能是:输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。程序中有几处错误,试找出它们后加以修改,并上机验证修改结果。 #include void main( ) int i,n,a10,avg; for(i=0;in;i+) scanf(“%d”,ai); for(i=0;in;i+) if(i%3=0) printf(“n”); printf(“%d ”,ai);for(i=0;in;i+) avg+=ai;printf(“navg=%fn”,avg);2、写一个函数,对输入的10个整数按从小到大的顺序排序(升序,用冒泡排序实现)。(实验指导书P147)3、编写程序,判断某一字符串是不是“回文数”,回文数是从左至右或从右至左读起来都是一样的字符串。(实验指导书P153)4、输入一个3行3列矩阵的所有元素,然后求出主对角线元素之和。5、给定某年某月某日,将其转换成这一年的第几天并输出。(实验指导书P152)6、编写
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1