完整word版C语言上机练习题及答案.docx
- 文档编号:6484476
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:12
- 大小:18.93KB
完整word版C语言上机练习题及答案.docx
《完整word版C语言上机练习题及答案.docx》由会员分享,可在线阅读,更多相关《完整word版C语言上机练习题及答案.docx(12页珍藏版)》请在冰豆网上搜索。
完整word版C语言上机练习题及答案
1输入三个整数x,y,z,把这三个数由小到大输出。
#include
voidmain()
{
intx,y,z,a;
scanf("%d,%d,%d",&x,&y,&z);
if(x>y){a=x;x=y;y=a;
}
if(x>z){a=x;x=z;z=a;
}
if(y>z){a=y;y=z;z=a;
}
printf("%d,%d,%d\n",x,y,z);
}
2输入圆的半径,输出圆的周长和面积。
#include
#definePI3.1415926
#defineS==PI*r*r
#defineV(4.0/3)*PI*r*r*r
voidmain()
{
doubler;
printf("pleaseinputr:
");
scanf("%lf",&r);
printf("areais%.4lf\n",S);
printf("volumeis%.4lf\n",V);
}
输入正方形的边长,输出正方形的周长和面积。
#include
voidmain()
{
floatc,zc,mj;
printf("输入你的正方形");
scanf("%f\n",&c);
zc=4*c;
mj=c*c;
printf("周长%f,面积%f,边长%f",zc,mj,c);
}
3用格式输入函数输入3个字符,并用输出函数反向输出3个字符和他们的ASCII码。
#include
intmain()
{char-ch1,ch2,ch3;
printf("pleaseinputthreecharacters:
\n");
scanf("%C%C%c",&ch1,&ch2,&ch3);
printf("%c\n%d\n",ch3,ch3);
printf("%c\n%d\n",ch2,ch2);
printf("%c\n%d\n",ch1,ch1);
}
输入一个摄氏温度,要求输出华氏温度。
公式为f=9/5*c+32。
#include
voidmain()
{
floatC,F;
scanf("%f",&F);
C=5.0/9*(F-32);
printf("%8.2f",C);
}
4。
比较两个数大小的题
#include
voidmain()
{inta,b;
scanf("%d,%d",&a,&b);
if(a>b)printf("%d\n",a);
elseprintf("%d\n",b);
}
第二题:
此题作废(千万不要用)
#include
voidmain()
{chara,b,c;
scanf("%c,%c,%c",&a,&b,&c);
while((a<97||a>122)||(b<97||b>122)||(c<97||c>122));
{
printf("您输入非三个小写字母,请重新输入:
\n");
scanf("%c,%c,%c",&a,&b,&c);
}
printf("%c,%c,%c\n",a-32,b-32,c-32);
}
5输入任意10个数,求他们的平均值。
#include
voidmain()
{
Printf("请输入10个整数:
");
inta[10],k=0,sum=0;
for(inti=0;i<10;++i);
{
i>a[i];
if10>=a[i]>0++k;
sum=sum+a[i];
}
floatave=sum/10.0
printf("平均值为:
%f\n",ave);
}
6实现从键盘输入两个整数,按从小到大次序输出这两个数。
#include
voidmain()
{
inta,b,tem;
printf("inputtwonumbers:
\n");
scanf("%d,%d",&a,&b);
if(a>b)
{
tem=a;a=b;b=tem;
}
printf("%d,%d",a,b);
7从键盘输入三个整数,输出最大的那个数。
#include
voidmain()
{
inta,b,c,max;
printf("请输入三个整数:
\n");
scanf("%d%d%d",&a,&b,&c);
max=a>b?
a:
b;
max=max>c?
max:
c;
printf(“max=%d\n”,max);
}
}
8输入任意一个三位数,将其各位数字反序输出(例如输入123,输出321)。
#include
voidmain()
{
intx,y,z,n;
printf("pleaseinputanintegerlessthan1000\n");
scanf("%d",&n);
x=n/100;n=n-100*x;y=n/10;z=n-10*y;
if(x>0)printf("%d%d%d\n",z,y,x);
elseif(y>0)printf("%d%d\n",z,y);
elseprintf("%d\n",z);
}
9输入三角形的边长,求三角形面积。
(面积=sqrt(s(s-a)(s-b)(s-c)),s=(a+b+c)/2)。
#include
voidmain()
{
floata,b,c,s,area;
intok=0;
printf("inputa,b,c:
");
scanf("%f,%f,%f",&a,&b,&c);
{
a+b>c?
ok++:
0;
a+c>b?
ok++:
0;
b+c>a?
ok++:
0;
ok==3
(s=1/2*(a+c+b);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("s=%f\n,area=%f\n",s,area);
}
10输入2个数,比较其大小,将较大的数输出。
#include
voidmain()
{
inta,b,c,max,min;
printf(“Inputa=”);
scanf(“%d”,&a);
printf(“Inputb=”);
scanf(“%d”,&b);
If(a>b)
printf(“较大的数是%d\n”,a);
else
printf(“较大的数是%d\n”,b);
}
11输入任意三个整数,求它们的和及平均值。
#include“stdio.h"
voidmain()
{inta,b,c,sum;floatave;
scanf("%d%d%d",&a,&b,&c);
sum=a+b+c;ave=(a+b+c)/3.0;
printf("三个数的和为:
%d\n",sum);
printf("三个数的平均值为:
%f\n",ave);
}
12求解方程ax2+bx+c=0的实数根。
a,b,c由键盘输入,a≠0且b2-4ac>0。
#include
#include
voidmain(){
floata,b,c,x1,x2;
printf("请输入a,b,c的值:
");
scanf("%f%f%f",&a,&b,&c);
if(b*b-4*a*c<=0)
printf("输入的系数不对,b2-4ac不大于0!
程序退出!
\n");
else{x1=(-b+sqrt(b*b-4*a*c))/2*a;
x2=(-b-sqrt(b*b-4*a*c))/2*a;
printf("x1=%.2f\n",x1);
printf("x2=%.2f\n",x2);}
}
13写一个程序,输入一个班学生的成绩,求全班的平均成绩。
#include "< "< "< "<<((n1*1.0)/num)*100<<"%"< "<<((n2*1.0)/num)*100<<"%"< "<<((n3*1.0)/num)*100<<"%"< "<<((n4*1.0)/num)*100<<"%"< "<<((n5*1.0)/num)*100<<"%"< ";cin>>num;cout<<"输入内容(每个数不超出0-100),用空格分开: "< 14编写程序输出如下图形: (没有的! ! ! ! ) * ** *** **** 从键盘输入一个整数判断是否为素数。 #include"stdio.h" voidmain() inti,n; printf("pleaseinputapositivenumber: "); scanf("%d",&n); for(i=2;i<=n-1;i++) { if(n%i==0)break; } if(i<=n-1)printf("%d不是素数\n",n); elseprintf("%d不是素数\n",n); } 15输入一个三位数,判断是否是一个“水仙花数”,水仙花数是指3位数的各位数字的立方和等于这个三位数本身。 例如153=1*1*1+5*5*5+3*3*3。 #include voidmain() {intx,a,b,c; scanf("%d",x); a=x/100;b=(x/10)%10;c=x%10; if(x==a*a*a+b*b*b+c*c*c) printf("YES");elseprintf("NOT"); } 16输入年号,判断它是否为闰年。 #include voidmain() { inty; scanf("%d",&y); if(y%400==0||y%4==0&&y%100! =0) printf("Yes.\n"); else printf("No.\n"); } 17用for循环语句求n! 用递归法求n! #include intfac(intn); voidmain() { intn; printf("pleaseinputn(n>=0): "); scanf("%d",&n); printf("%d! =%d\n",n,fac(n)); } intfac(intn) { intt; if(n==0||n==1) t=1; else t=n*fac(n-1); else return(t); } 18用函数实现求最大公约数的程序。 #include intgcd(inta,intb); voidmain() {inta,b,m; printf("pleaseinputa,b: "); scanf("%d,%d",&a,&b); m=gcd(a,b); printf("gcd(%d,%d)=%d\n",a,b,m);} intgcd(inta,intb) { intt do{t=a%d; a=b;b=t;} while(b! =0); return(a); } 19用函数实现求最小公倍数的程序。 #include intgcd(inta,intb); intlcm(inta,intb); voidmain() {inta,b,m,n; printf("pleaseinputa,b: "); scanf("%d,%d",&a,&b); m=gcd(a,b); n=lcm(a,b); printf("gcd(%d,%d)=%d\n",a,b,m); printf("lcm(%d,%d)=%d\n",a,b,n); } intgcd(inta,intb) {intt do { t=a%d; a=b;b=t;} while(b! =0); return(a);} intlcm(inta,intb) { intt; t=a*b/gcd(a,b); return(t); } 20编写判断水仙花的函数,从主函数输入一个三位正整数N,在主函数中调用判断水仙花数的函数,求出三位数中所有的水仙花数。 水仙花数是指3位数的各位数字的立方和等于这个三位数本身。 例如153=1*1*1+5*5*5+3*3*3。 #include voidf(m) {intx,y,z; x=m/100; y=m/10%10; z=m%10; if(m==x*x*x+y*y*y+z*z*z) printf("%d是水仙花数\n",m); elseprintf("%d不是水仙花数\n",m);} voidmain() {intn; scanf("%d",&n); f(n); } 21将一个正整数逆续输出。 #include voidmain() { intn,digit; scanf("%d",&n); while(n! =0) {digit=n%10; printf("%d\n: digit); n=n/10;} } 22从键盘输入一个正整数n,计算该数的各位数字之和并输出。 例如,输入数是5246,则计算5+2+4+6=17并输出。 #include voidmain() { intx,s=0,digit; scanf("%d",&x); while(x! =0) {digit=x%10;循环 x=x/10; s=s+digit;} printf("%d\n",s); } 23输出九九乘法表。 #include voidmain() { inta,b;for(a=1;a<=9;a++); { for(b=1;b<=a;b++); { printf("%d*%d=%-2d",a,b,a*b); } printf("\n"); } 23用数组实现从键盘输入10个数,并且输出这10个数。 #include voidmain() { inta[10],*p=a,i; printf("Iput10numbers: \n"); for(i=0;i<10;i++) scanf("%d",p+i); printf("a[10]: "); for(i=0;i<10;i++) printf("%3d",*(p+i)); printf("\n"); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word 语言 上机 练习题 答案