C语言实验答案.docx
- 文档编号:23404671
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:30
- 大小:20.25KB
C语言实验答案.docx
《C语言实验答案.docx》由会员分享,可在线阅读,更多相关《C语言实验答案.docx(30页珍藏版)》请在冰豆网上搜索。
C语言实验答案
实验一:
C语言程序结构及程序运行的全过程
1、
#include
voidmain()
{
inta,b,c;
scanf("%d,%d,%d",&a,&b,&c);
printf("%d\n",a+b+c);
}
2、
#include
voidmain()
{
inta,b,he,cha,ji,shang;
scanf("%d,%d",&a,&b);
he=a+b;
cha=a-b;
ji=a*b;
shang=a/b;
printf("he=%d\n",he);
printf("cha=%d\n",cha);
printf("ji=%d\n",ji);
printf("shang=%d\n",shang);
}
3、
#include
voidmain()
{
inta,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("%d\n",sum);
}
4
#include
#include
voidmain()
{
doublea,b,c,sum;
scanf("%lf,%lf,%lf",&a,&b,&c);
sum=sqrt(a)+sqrt(b)+sqrt(c);
printf("%f\n",sum);
}
5、
#include
#definePI3.14159
voidmain()
{
floatr,l,s;
scanf("%f",&r);
l=2*PI*r;
s=r*r*PI;
printf("l=%6.2f\n",l);
printf("s=%6.2f\n",s);
}
6、
#include
voidmain()
{
printf("\"whatabeautifulcampus!
\"\n");
printf("\"Iwishyoueverysuccess!
\"\n");
}
实验二:
数据类型及C语言表达式
1、
#include
voidmain()
{
inta,b,c;floatx;
scanf("%d,%d,%d,%f",&a,&b,&c,&x);
printf("%f",a*x*x*x+b*x*x+c);
}
2、
#include
voidmain()
{
inta,b;
scanf("%d,%d",&a,&b);
printf("ji=%d,shang=%d,yushu=%d",a*b,a/b,a%b);
}
3、
#include
voidmain()
{
floatc,f;
scanf("%f",&f);
c=5.0/9.0*(f-32);
printf("\n摄氏温度为:
%5.2f\n",c);
}
4、
#include
#definePI3.14159
voidmain()
{
floatr,l,s;
scanf("%f",&r);
l=2*PI*r;
s=r*r*PI;
printf("l=%6.2f\n",l);
printf("s=%6.2f\n",s);
}
5、
#include
voidmain()
{
floatc=3.;
printf("%f",c);
}
6、
#include
voidmain()
{
inta=2;
a+=a;
printf("%d\n",a);
a-=2;
printf("%d\n",a);
a*=2+3;
printf("%d\n",a);
a/=a+a;
printf("%d\n",a);
}.
实验三:
输入输出函数及格式字符
1、#include
voidmain()
{
inta=3,b=4,c=5;
floatx=1.414,y=1.732,z=2.712;
printf("a=%-7db=%-7dc=%-7d\nx=%-7.3fy=%-7.3fz=%-7.3f",a,b,c,x,y,z);
}
2、
#include
voidmain()
{
inta,b,c;
floatx,y,z;
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);
scanf("%f",&x);
scanf("%f",&y);
scanf("%f",&z);
printf("a=%-5db=%-5dc=%-5d\nx=%5.3fy=%5.3fz=%5.3f,\n",a,b,c,x,y,z);
}
3、#include
voidmain()
{
inta,b,c,x1,x2;
scanf("%d,%d,%d",&a,&b,&c);
x1=a+b+c;
x2=a-b-c;
printf("x1=a+b+c=%d+%d+%d=%d\n",a,b,c,x1);
printf("x2=a-b-c=%d-%d-%d=%d\n",a,b,c,x2);
}
4、#include
voidmain()
{
charc1,c2,c3,c4;
scanf("%c%c%c%c",&c1,&c2,&c3,&c4);
printf("%d,%d,%d,%d",c1,c2,c3,c4);
}
5、#include
voidmain()
{
intd1=60,d2=61,d3=62,d4=63;
printf("%c,%c,%c,%c",d1+5,d2+5,d3+5,d4+5);
}
6、#include
voidmain()
{
intm,n;
scanf("%d%d",&m,&n);
printf("m=%dn=%d",m,n);
}
7、#include
voidmain()
{
inta=20,b=64,c=127;
printf("a=%d,%o,%x\n",a,a,a);
printf("b=%d,%o,%x\n",b,b,b);
printf("c=%d,%o,%x\n",c,c,c);
}
8、#include
voidmain()
{
floatx,y,z;
x=1.414;
y=1.732;
z=2.712;
printf("%6.2f,%6.2f,%6.2f",x,y,z);
}
9、#include
voidmain()
{
printf("%.6f%%",1.0/3);
}
10、#include
voidmain()
{
chara,b,c;
a=getchar();b=getchar();c=getchar();
a=a+32;
b=b+32;
c=c+32;
putchar(a);
putchar(b);
putchar(c);
}
实验四选择结构程序设计
1.
#include
voidmain()
{inta,b,c,max;
scanf("%d,%d,%d",&a,&b,&c);
max=a;
if(max
if(max printf("max=%d\n",max); } 或 #include voidmain() {inta,b,c,max; scanf("%d,%d,%d",&a,&b,&c); if(a>b)max=a; elsemax=b; if(max>c)max=max; elsemax=c; printf("%d",max); } 2. #include voidmain() { floatx,y; scanf("%f",&x); if(x<1)y=x; else if(1<=x&&x<10)y=2*x-1; elsey=3*x-11; printf("y=%f",y); } 或 #include voidmain() { floatx,y; scanf("%f",&x); if(x<1) y=x; if(1<=x&&x<10) y=2*x-1; if(x>=10) y=3*x-11; printf("y=%.3f",y); } 3.#include voidmain() {chargrade='A'; switch(grade) {case'A': printf("90~100\n");break; case'B': printf("80~89\n");break; case'C': printf("70~79\n");break; case'D': printf("60~69\n");break; case'E': printf("<60\n");break; default: printf("error\n"); } } 4. #include voidmain() { intn1,n2,n3,n4,n5,n; longnum; printf("请输入0--99999之间的一个数: "); scanf("%ld",&num); if(num>9999)n=5; else if(num>999)n=4; else if(num>99)n=3; else if(num>9)n=2; elsen=1; printf("n=%d",n); n3=num/100%10; n4=num/10%10; n5=num%10; printf("\n原数据num=%ld\n",num); printf("反序数为: "); switch(n) {case1: printf("%d\n",n5);break; case2: printf("%d%d\n",n5,n4);break; case3: printf("%d%d%d\n",n5,n4,n3);break; case4: printf("%d%d%d%d\n",n5,n4,n3,n2);break; case5: printf("%d%d%d%d%d\n",n5,n4,n3,n2,n1);break; } n1=num/10000; n2=num/1000%10; 或 #include voidmain() { intt,n,g,s,b,q,w; scanf("%d",&t); if(t>=10000) n=5; elseif(t>=1000) n=4; elseif(t>=100) n=3; elseif(t>=10) n=2; elseif(t>=0) n=1; switch(n) { case1: {g=t;printf("%d,%d",t,t);break;} case2: {g=t%10;s=t/10;printf("%d,%d",s,g,g*10+s);break;} case3: {g=t-t/10*10;s=(t/10)%10;b=t/100;printf("%d,%d,%d,%d",b,s,g,g*100+s*10+b);break;} case4: {q=t/1000;b=(t-q*1000)/100;s=(t%100)/10;g=t%10;printf("%d,%d,%d,%d,%d",q,b,s,g,g*1000+s*100+b*10+q);break;} case5: {w=t/10000;q=(t%10000)/1000;b=(t%1000)/100;s=(t%100)/10;g=t%10;printf("%d,%d,%d,%d,%d,%d",w,q,b,s,g,g*10000+s*1000+b*100+q*10+w);break;} } } 5 #include #include voidmain() { doublea,b,c,x1,x2,m,n,q; printf("请输入a,b,c: \n"); scanf("%f,%f,%f",&a,&b,&c); if(a=0) printf("不是二次方程\n"); else { m=b*b-4*a*c; if(m=0) printf("有两个相等实根\n"); else if(m>0) { x1=(-b+sqrt(m))/(2*a); x2=(-b-sqrt(m))/(2*a); printf("有两个不相等的实根\n"); } else {n=-b/(2*a); q=sqrt(-m)/(2*a); printf("有两个共轭复根\n"); printf("%8.4f+%8.4fi\n",n,q); printf("%8.4f-%8.4fi\n",n,q); } } 实验五循环 (一) 1、 #include voidmain() { inti,sum; i=1,sum=0; while(i<=100) {sum=sum+i; i=i++;} printf("%d\n",sum); } 2、#include voidmain() {inti,t,sum; i=1,t=1,sum=0; for(i=1;i<=10;i++) {t=t*i;sum=sum+t;} printf("%d\n",sum); } 3、 #include #include voidmain() {ints; floatn,t,sum; t=1,sum=0,s=1,n=1.0; while(fabs(t)>1e-5) {sum=sum+t; s=-s; n=n*n+1; t=s/n;} printf("%10.6f\n",sum); } 4、#include voidmain() {charc; intk; intn1=0,a1=0,u1=0;/*分别存放数字、字母及其它字符个数*/ printf("\nInput30chars: "); for(k=1;k<=30;k++) {scanf("%c",&c); if(c>=‘A’&&c<=‘Z’||c>=‘a’&&c<=‘z’)a1++; elseif(c>=‘0’&&c<=‘9’)n1++; elseu1++; } printf("\n0~9=%d;A~Za~z=%d;otherwise=%d\n",n1,a1,u1); } 5、 #include voidmain() { longf1,f2; inti; f1=1,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() {floatsum=0,mul=1; inti; for(i=1;i<=10;i++) {mul*=i; sum+=mul; } printf("\n1! +2! +3! +4! +...+10! =%f\n",sum); } 2、 #include voidmain() { inti,j; for(i=1;i<10;i++) { for(j=1;j<=i;j++) printf("%d*%d=%-3d",j,i,j*i); printf("\n"); } } 3 #include voidmain() { inti,j; for(i=1;i<=10;i++) {for(j=1;j<=10-i;j++)printf(""); for(j=1;j<=2*i-1;j++)printf("*"); printf("\n");} for(i=1;i<=9;i++) {for(j=1;j<=i;j++)printf(""); for(j=1;j<=2*(10-i)-1;j++)printf("*"); printf("\n");} } 4、 #include voidmain() { inti,j,k; for(i=1;i<=20;i++) for(j=1;j<=34;j++) {k=100-i-j; if(k%3! =0)continue; if(5*i+3*j+k/3==100) printf("%8d,%8d,%8d",i,j,k); } } 5、#include voidmain() { inti,s=0,sum=0,n; printf("请输入n的值\n"); scanf("%d",&n); for(i=1;i<=n;i++) {sum=sum+i; s=s+sum; } printf("s=%d",s); } 实验七数组 (一) 1、用随机函数产生15个100以内的随机整数存入一维数组,然后分三行输出,每行3个数。 #include voidmain() {inta[15],i; for(i=0;i<15;i++) {a[i]=rand(); /*产生-90~32767之间的随机整数*/ if(a[i]<0)a[i]=-a[i]; a[i]=a[i]%101; if(i%5==0)printf("\n"); printf("%8d",a[i]);} } 2、求出n个学生一门课程中的最高成绩和最低成绩及高于平均成绩的人数。 #defineN10 voidmain() {floata[N]={78,86,65,55,91,83,78,90,69,81}; floatmax=0,min=100,avg=0; inti,num=0; for(i=0;i {if(a[i]>max)max=a[i]; if(a[i] avg=avg+a[i]; } avg=avg/N; for(i=0;i printf("\nmax=%.2f,min=%.2f\n",max,min); printf("\n>%.2f=%d\n",avg,num); } 3、使用数组,求出下列数列的前20项: 1,1,2,4,7,13,…… voidmain() {longa[20]={1,1,2}; inti; for(i=3;i<20;i++)a[i]=a[i-1]+a[i-2]+a[i-3]; for(i=0;i<20;i++) {if(i%5==0)printf("\n"); printf("%9ld",a[i]);} } 4、将一个一维数组反序放置如: a={67,89,76,98.66}反序放置后a={66,98,76,8967} #defineN5 voidmain() {inta[N]={67,89,76,98,66},i,k; for(i=0;i {k=a[i]; a[i]=a[N-i-1]; a[N-i-1]=k; } printf("\na={%d",a[0]); for(i=1;i printf("}\n"); } 5、有10个学生一门课程成绩,使用选择排序法将成绩由高向低排序. #defineN10 voidmain() {inta[N]={67,89,76,98,66,55,77,79,96,89}; inti,j,p,k;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实验 答案