c语言实验常见题目.docx
- 文档编号:12674017
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:42
- 大小:23.58KB
c语言实验常见题目.docx
《c语言实验常见题目.docx》由会员分享,可在线阅读,更多相关《c语言实验常见题目.docx(42页珍藏版)》请在冰豆网上搜索。
c语言实验常见题目
C语言实验题答案
(仅供参考)
01.*****求圆柱体的体积、表面积、周长、底面积。
注意符号常量的使用。
#include
#definePI3.14
voidmain()
{
floatr,h;
doubleV,S,s,c;
printf("请输入圆柱体的半径r和高h:
");
scanf("%f%f",&r,&h);
V=PI*r*r*h;
S=2*PI*r*h;
s=PI*r*r;
c=2*PI*r;
printf("%f\t%f\t%f\t%f\n",V,S,s,c);
}
02.*****输入并运行下面的程序,注意变量的定义与赋值。
#include
voidmain()
{
inta=3,b=5;
floatx,y;
x=1.5;
y=1.5;
printf("%d\t%d\n",a,b);
printf("%f\t%f\n",x,y);
}
03.*****从键盘输入两个整数x,y.求x+y;x-yx*y;x/y;x%y.
#include
voidmain()
{
intx,y;
printf("请输入两个整数x,y:
");
scanf("%d%d",&x,&y);
printf("%d\t%d\t%d\t%d\n",x+y,x-y,x*y,x/y,x%y);
}
04.*****.鸡和兔的头数h,鸡和兔的脚的个数f.求多少鸡和兔。
#include
voidmain()
{
inta,b,h,f;
printf("请输入鸡和兔的头数为h头和鸡和兔的脚的个数为f个:
");
scanf("%d%d",&h,&f);
a=(4*h-f)/2;
b=(f-2*h)/2;
printf("鸡的只数a=%d\n,兔的只数b=%d\n",a,b);
}
05.*****A以15m/s的速度行驶十分钟后,B以20m/s的速度追赶,问多长时间能追上。
#include
voidmain()
{
floatu,v,t,x;
u=20,v=15,t=600;
x=v*t/(u-v);
printf("%f\n",x);
}
06.*****编写程序,输入三角形的边长,求三角形面积。
#include
#include
voidmain()
{
floata,b,c,area,s;
printf("请输入有效的三边长为a,b,c:
\n");
scanf("%f%f%f",&a,&b,&c);
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("%f\n",area);
}
07.*****编写程序,分别求三个实数的整数部分与小数部分之和。
#include
voidmain()
{
floata,b,c;
intx,y,xs;
doublels;
printf("请输入三个实数a,b,c:
");
scanf("%f%f%f",&a,&b,&c);
x=(int)a;
y=(int)b;
xs=(int)a+(int)b+(int)c;
ls=(a-(int)a)+(b-(int)b)+(c-(int)c);
printf("%d\t%d\n",x,y);
printf("%d\t%f\n",xs,ls);
}
08.*****从键盘输入一个四位的整数,求该四位数的千位数,百位数,十位数,个位数。
#include
voidmain()
{
intx,qian,bai,shi,ge;
printf("请输入一个四位的整数x:
");
scanf("%d",&x);
qian=x/1000;
bai=x%1000/100;
shi=x%100/10;
ge=x%10;
printf("%d\t%d\t%d\t%d\n",qian,bai,shi,ge);
}
09.*****输入一个字符,如果为大写字母或在0到9之间则字符不变输出,其他字符,用*代替输出。
#include
voidmain()
{
chara,p;
scanf("%c",&a);
p=('A'<=a&&a<='Z'||'0'<=a&&a<='9')?
a:
'*';
printf("%c\n",p);
}
10..*****从键盘上输入一个四位整数x,分别获取四位数的千位,百位,十位,个位,组成新的一个四位整数y,它是由原四位数的百位,个位,千位,十位,顺序组成,在计算差值(y-x);
在组成两个三位数,m是由个位,百位,千位顺序组成,n是由千位,个位,百位组成。
#include
voidmain()
{
intge,shi,bai,qian,x,y,cha,m,n;
printf("请输入一个四位整数x:
");
scanf("%d",&x);
ge=x%10;
shi=x%100/10;
bai=x%1000/100;
qian=x/1000;
y=bai*1000+ge*100+qian*10+shi;
printf("%d\n%d\n%d\n%d\n",ge,shi,bai,qian);
m=ge*100+bai*10+qian;
n=qian*100+ge*10+bai;
cha=y-x;
printf("%d\t%d\t%d\t%d\n",y,cha,m,n);
}
11.*****用符号常量编程求解圆的周长和面积,球的体积和表面积,圆锥的体积,圆柱的体积。
输出时要有中文文字说明,且小数点后保留两位有效数字。
#include
#definePI3.14
voidmain()
{
floatr,h;
doublec,s,V1,S,V2,V3;
printf("请输入半径r和高h:
");
scanf("%f%f",&r,&h);
c=2*PI*r;
s=PI*r*r;
V1=4.0/3*PI*r*r*r;
S=4*PI*r*r;
V2=1.0/3*PI*r*r*r;
V3=PI*r*r*h;
printf("圆的周长c=%0.2f\n圆的面积s=%0.2f\n球的体积V1=%0.2f\n球的表面积S=%0.2f\n圆锥的体积V2=%0.2f\n圆柱的体积V3=%0.2f\n",c,s,V1,S,V2,V3);
}
12.*****将两个两位a,b正整数,形成一个四位数,a的十位做四位数的千位,a的个位做四位数的十位,b的个位做四位数的百位。
#include
voidmain()
{
intx,y,a,b,c,d,p;
printf("请输入两个两位正整数想x,y:
\n");
scanf("%d%d",&x,&y);
a=x/10;
b=x%10;
c=y/10;
d=y%10;
p=a*1000+d*100+b*10+c;
printf("%d\n",p);
}
13.*****从键盘上输入一个七个字母的单词,字母逆着顺序输出。
#include
voidmain()
{
charc1,c2,c3,c4,c5,c6,c7;
c1='s';c2='t';c3='u';c4='d';
c5='e';c6='n';c7='t';
putchar(c7);putchar(c6);putchar(c5);putchar(c4);
putchar(c3);putchar(c2);putchar(c1);putchar('\n');
}
14.*****从键盘输入x,求其绝对值。
#include
voidmain()
{
floatx;
printf("请输入一个数x:
\n");
scanf("%f",&x);
if(x>=0)
printf("%f\n",x);
if(x<0)
printf("%f\n",-x);
}
15.*****输入字符。
如果为a,输出(about).如果为r,输出(retry),如果为f,输出(fasil);
#include
voidmain()
{
charx;
printf("请输入一个字符x:
\n");
scanf("%c",&x);
if(x=='a')
printf("about\n");
if(x=='r')
printf("retry\n");
if(x=='f')
printf("fasil\n");
}
16.*****输入两个实数a,b,u=(r+s)*(r+s){a
a>br=b*b-a*as=a/b+4}
#include
voidmain()
{
floata,b,u,r,s;
printf("请输入两个实数a,b:
\n");
scanf("%f%f",&a,&b);
if(a
{r=a*a-b*b;
s=a/b;}
else
{r=b*b-a*a;
s=a/b+4;}
u=(r+s)*(r+s);
printf("%f\n",u);
}
17.*****求1+1/3+1/5+……+1/n+1的和。
#include
voidmain()
{
inti,n;
floatt=0,s=0;
printf("请输入n的值:
\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{t=i;
s=s+1/(2*t-1);}
printf("s=%f\n",s);
}
18.*****从键盘上输入12个数按每行3个输出并输出平均值、最大值、最小值
#include
voidmain()
{inti,j,max,min,a[4][3];
floatpin,sum=0;
for(i=0;i<4;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
max=a[0][0];
min=a[0][0];
for(i=1;i<4;i++)
for(j=1;j<3;j++)
{if(a[i][j]>max)
max=a[i][j];
if(a[i][j] min=a[i][j];} for(i=0;i<4;i++) for(j=0;j<3;j++) sum+=a[i][j]; for(i=0;i<4;i++) {for(j=0;j<3;j++) {printf("%5d",a[i][j]);} printf("\n");} pin=sum/12; printf("最大值是: %d\n",max); printf("最小值是: %d\n",min); printf("平均值是: %f\n",pin); } 19.*****从键盘上输入n个整数,试编程序,使数组从大到小输出 #include voidmain() {inti,j,m,a[10]; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<9;i++) for(j=0;j<10-i;j++) if(a[j+1]>a[j]) {m=a[j];a[j]=a[j+1];a[j+1]=m;} for(i=0;i<10;i++) printf("%2d",a[i]); } 20.*****统计全班某门功课的平均分及优良等级 #include voidmain() {inti,y=0,l=0,z=0,j=0,a[10]; floatpin,sum=0; for(i=0;i<10;i++) {scanf("%d",&a[i]); } for(i=0;i<10;i++) sum+=a[i]; for(i=0;i<10;i++) if(a[i]>=90) y++; elseif(a[i]>=80) l++; elseif(a[i]>=70) z++; elseif(a[i]>=60) j++; pin=sum/10; printf("优秀人数是: %d\n",y); printf("良好人数是: %d\n",l); printf("中等人数是: %d\n",z); printf("及格人数是: %d\n",j); printf("平均成绩是: %f\n",pin); } 21.*****n*n转置矩阵 #include #definen3 voidmain() {inta[n][n]={{1,2,3},{4,5,6},{7,8,9}},b[n][n]; inti,j; printf("arraya: \n"); for(i=0;i { for(j=0;j {printf("%5d",a[i][j]); b[j][i]=a[i][j];} printf("\n");} printf("arrayb: \n"); for(i=0;i {for(j=0;j {printf("%5d",b[i][j]);} printf("\n");} } 22.*****输出3*3矩阵的主、次对角线及上三角 #include voidmain() {inti,j,a[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) {for(j=0;j<3;j++) {printf("%5d",a[i][j]);} printf("\n");} for(i=0;i<3;i++) {for(j=0;j<3;j++) {if(i+j<=2) printf("%5d",a[i][j]); elseprintf("");}//五个空格// printf("\n");} for(i=0;i<3;i++) {for(j=0;j<3;j++) {if(i==j) printf("%5d",a[i][j]); elseprintf("");}//五个空格// printf("\n");} for(i=0;i<3;i++) {for(j=0;j<3;j++) {if(i+j==2) printf("%5d",a[i][j]); elseprintf("");}//五个空格// printf("\n");} } 23.*****菱形 #include #definen3 voidmain() {inti,j; for(i=1;i {for(j=1;j {if(j<=n-i) printf(""); elseprintf("%2d",j+i-n);} for(j=n;j>=1;j--) {if(j<=n-i) printf(""); elseprintf("%2d",j+i-n);} printf("\n");} for(i=n;i>=1;i--) {for(j=1;j {if(j<=n-i) printf(""); elseprintf("%2d",j+i-n);} for(j=n;j>=1;j--) {if(j<=n-i) printf(""); elseprintf("%2d",j+i-n);} printf("\n");} } 24.*****用and替换the并统计the的个数 #include #include voidmain() {inti=0,sum=0; chara[81],c; gets(a); for(i=0;i<81;i++) {if(i>3) {if(a[i]==''&&a[i-1]=='e'&&a[i-2]=='h'&&a[i-3]=='t'&&a[i-4]=='') {a[i-3]='a';a[i-2]='n';a[i-1]='d';sum++;}} else {if(a[i-1]=='e'&&a[i-2]=='h'&&a[i-3]=='t') {a[i-3]='a';a[i-2]='n';a[i-1]='d';sum++;}}} printf("%s\n",a); printf("'the'的个数有%d个\n",sum); } 25.*****用自定义函数求四个整数中的最大数。 程序如下: #include intmax(intx,inty) { intz; z=(x>y)? x: y; return(z); } voidmain() { inta,b,c,d,m; printf("请输入四个数: \n"); scanf("%d%d%d%d",&a,&b,&c,&d); m=max(max(a,b),max(c,d)); printf("四个数中的最大数是: %d\n",m); } 26.*****用swap函数实现两个数的交换,要求在主函数中输入,输出交换结果。 程序如下: #include voidswap(floatx,floaty) { floattemp; temp=x;x=y;y=temp; printf("交换后的结果: \nx=%fy=%f\n",x,y); } voidmain() { inta,b; printf("请输入两个数: \n"); scanf("%d%d",&a,&b); swap(a,b); } 27.*****编写函数输入一个四位数,判断是否满足以下条件: 是完全平方数,1、3位数之和是10,2、4位之积是12。 程序如下: #include #include voidsiweishu(intx) { inta,b,c,d,m; m=sqrt(x); a=x/1000; b=(x-a*1000)/100; c=(x-a*1000-b*100)/10; d=x-a*1000-b*100-c*10; if(b+d==10&&a*c==12&&m*m==x) printf("YES"); else printf("NO"); } voidmain() { intm; printf("请输入一个四位数"); scanf("%d",&m); siweishu(m); } 28.*****从主函数输入一个数,判断是否是素数。 程序如下: #include voidsushu(intx) { inti,flag=1; for(i=2;i {if(x%i==0) {flag=0;break;} } if(flag) printf("是素数! \n"); else printf("不是素数! \n"); } voidmain() { inta; printf("请输入一个数: \n"); scanf("%d",&a); sushu(a); } 29.*****编写两个函数,求三个数的最大公约数、最小公倍数。 程序如下: #include intgongyue(intm,intn) { intr; if(m {r=m;m=n;n=r;} r=m%n; while(r! =0) {m=n;n=r;r=m%n;} return(n); } intgongbei(intm,intn) { intr,p;p=m*n; if(m {r=m;m=n;n=r;} r=m%n; while(r! =0) {m=n;n=r;r=m%n;} return(p/n); } voidmain() { inta,b,c,zdgy,zxgb; printf("请输入三个数: \n"); scanf("%d%d%d",&a,&b,&c); zdgy=gongyue(a,gongyue(b,c)); zxgb=gongbei(a,gongbei(b,c)); printf("最大公约数为: %d\n",zdgy); printf("最小公倍数为: %d\n",zxgb); } ? ? ? 30.*****编写5个函数分别用来求两个整数的加减乘除及余数。 制作一个菜单,列出这五种运算,每一种运算前面有数字序号,以便让用户能够用输入数字的方法选择要进行的运算。 程序如下: #include voidadd() { intx,y,z; scanf(“%d%d”,&x,&y); z=x+y; printf(“两个数的和是: %d”,z); } voidsub() { intx,y,z; scanf(“%d%d”,&x,&y); z=x-y; printf(“两个数的差是: %d”,z); } voidmul() { intx,y,z; scanf(“%d%d”,&x,&y); z=x*y; printf(“两个数的积是: %d”,z); } voiddiv() { intx,y,z; scanf(“%d%d”,&x,&y); z=x/y; printf(“两个数的商是: %d”,z); } voidrem() { intx,y,z; scanf(“%d%d”,&x,&y); z=x%y; printf(“两个数的余数是: %d”,z); } voidmain() { charc; while (1) { printf(“***********************\n”); printf(“请选择一种运算\n”); printf(“***********************\n”); printf(“1.加法运算\n”); printf(“2.减法运算\n”); printf(“3.乘法运算\n”); printf(“4.除法运算\n”); printf(“5.求余运算\n”); printf(“6.结束\n”); do { printf(“请输入选择的序号1—6: ”); c=getchar();getchar(); } while(c<’1’|
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实验 常见 题目
![提示](https://static.bdocx.com/images/bang_tan.gif)