C语言上机练习题及答案Word下载.docx
《C语言上机练习题及答案Word下载.docx》由会员分享,可在线阅读,更多相关《C语言上机练习题及答案Word下载.docx(13页珍藏版)》请在冰豆网上搜索。
![C语言上机练习题及答案Word下载.docx](https://file1.bdocx.com/fileroot1/2023-1/29/8dc8eb31-66b3-48d9-9c85-57df269e8f6b/8dc8eb31-66b3-48d9-9c85-57df269e8f6b1.gif)
floatc,zc,mj;
输入您得正方形"
%f\n"
c);
zc=4*c;
mj=c*c;
printf(”周长%f,面积%f,边长%f"
zc,mj,c);
3用格式输入函数输入3个字符,并用输出函数反向输出3个字符与她们得ASCII
码。
stdio、h>
intmain()
{char-ch1,ch2,ch3;
pleaseinputthreecharacters:
\n"
scanf("
%C%C%c"
ch1,&
ch2,&
ch3);
printf("
%c\n%d\n"
ch3,ch3);
ch2,ch2);
ch1,ch1);
f=9/5*c+32。
输入一个摄氏温度,要求输出华氏温度。
公式为
#include<
floatC,F;
%f"
F);
C=5、0/9*(F-32);
%8、2f"
C);
4。
比较两个数大小得题
{inta,b;
%d,%d"
a,&
b);
if(a>
b)printf("
%d\n"
a);
elseprintf("
b);
第二题:
此题作废(千万不要用)#include<
voidmain(){chara,b,c;
%c,%c,%c"
b,&
while((a<
97||a>
122)||(b<
97||b>
122)||(c<
97||c>
122));
{printf("
您输入非三个小写字母,请重新输入:
}printf("
%c,%c,%c\n"
a-32,b-32,c-32);
5输入任意10个数,求她们得平均值。
#include<
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("
平均值为:
ave);
6实现从键盘输入两个整数,按从小到大次序输出这两个数。
stdio、h>
inta,b,tem;
inputtwonumbers:
b);
if(a>
b)
tem=a;
a=b;
b=tem;
printf("
a,b);
7从键盘输入三个整数,输出最大得那个数。
inta,b,c,max;
请输入三个整数:
%d%d%d"
max=a>
b?
a:
b;
max=max>
c?
max:
c;
printf(“max=%d\n”,max);
8输入任意一个三位数,将其各位数字反序输出(例如输入123,输出321)。
#
include<
intx,y,z,n;
pleaseinputanintegerlessthan1000\n"
%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);
z);
9输入三角形得边长,求三角形面积。
(面积=sqrt(s(s-a)(s-b)(s-c)),s=(a+b+c)/2)
floata,b,c,s,area;
intok=0;
inputa,b,c:
%f,%f,%f"
a+b>
ok++:
0;
a+c>
b+c>
a?
ok==3
(s=1/2*(a+c+b);
area=sqrt(s*(s-a)*(s-b)*(s-c));
s=%f\n,area=%f\n"
s,area);
10输入2个数,比较其大小,将较大得数输出。
inta,b,c,max,min;
printf(“Inputa=”);
scanf(“%d”,&
a);
printf(“Inputb=”);
If(a>
printf(“较大得数就是%d\n”,a);
else
printf(“较大得数就是%d\n”,b);
11输入任意三个整数,求它们得与及平均值。
#include“stdioh"
、
{inta,b,c,sum;
floatave;
%d%d%d"
sum=a+b+c;
ave=(a+b+c)/3、0;
三个数得与为:
%d\n"
sum);
三个数得平均值为:
%f\n"
12求解方程ax2+bx+c=0得实数根。
a,b,c由键盘输入,a^0且b2-4ac>
0。
#include<
math、h>
voidmain(){
floata,b,c,x1,x2;
请输入a,b,c得值:
%f%f%f"
&
a,&
b,&
if(b*b-4*a*c<
=0)
输入得系数不对,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;
x1=%、2f\n"
x1);
x2=%、2f\n"
x2);
}
13写一个程序,输入一个班学生得成绩,求全班得平均成绩。
#include<
iostream>
using
namespacestd;
voidfailnum(intscore[],intnum){intn=0;
for(inti=0;
num;
i++){if(score[i]<
60)n++;
}cout<
<
不及格人数:
n<
endl;
}voidaverage_num(intscore[],intnum){intsum=0,number=0;
floatn=0;
i++)sum=sum+score[i];
n=(sum*1、0)/num;
for(i=0;
i++){if(score[i]>
=n)number++;
平均分为:
cout<
成绩在全班平均分及平均分之上得学生人数:
number<
}voidstastics(intscore[],intnum){intn1=0,n2=0,n3=0,n4=0,n5=0;
60)n1++;
elseif(score[i]<
=69)n2++;
=79)n3++;
elseif(score[i]
=89)n4++;
if(score[i]>
=90)n5++;
分数在60以下占:
((n1*1、0)/num)*100<
%"
cout<
分数在60-69占:
((n2*1、0)/num)*100<
分数在70-79占:
((n3*1、0)/
num)*100<
分数在80-89占:
((n4*1、0)/num)*100<
分数在
90以上占:
((n5*1、0)/num)*100<
}intmain(){intscore[35],num;
输入全班总人数:
;
cin>
>
num;
输入内容(每个数不超出0-100),用空格分开:
i++)cin>
score[i];
failnum(score,num);
average_num(score,num);
stastics(score,num);
return0;
14编写程序输出如下图形:
(没有得!
!
)
从键盘输入一个整数判断就是否为素数。
#include"
stdio、h"
inti,n;
pleaseinputapositivenumber:
for(i=2;
i<
=n-1;
i++)
if(n%i==0)break;
if(i<
=n-1)printf("
%d不就是素数\n"
n);
15输入一个三位数,判断就是否就是一个“水仙花数”,水仙花数就是指3位数得各位数字得立方与等于这个三位数本身。
例如153=1*1*1+5*5*5+3*3*3。
{intx,a,b,c;
x);
a=x/100;
b=(x/10)%10;
c=x%10;
if(x==a*a*a+b*b*b+c*c*c)
YES"
elseprintf("
NOT"
16输入年号,判断它就是否为闰年
inty;
y);
if(y%400==0||y%4==0&
&
y%100!
=0)
Yes、\n"
No、\n"
17用for循环语句求n!
用递归法求n!
stido、h>
intfac(intn);
voidmain()
intn;
printf("
pleaseinputn(n>
=0):
scanf("
%d!
=%d\n"
n,fac(n));
intfac(intn)
intt;
if(n==0||n==1)
t=1;
t=n*fac(n_1);
return(t);
18用函数实现求最大公约数得程序
#includevstdio、h>
intgcd(inta,intb);
{inta,b,m;
printf("
pleaseinputa,b:
scanf("
m=gcd(a,b);
gcd(%d,%d)=%d\n"
a,b,m);
intgcd(inta,intb)
intt
do{t=a%d;
b=t;
while(b!
=0);
return(a);
19用函数实现求最小公倍数得程序
intgcd(inta,intb);
intlcm(inta,intb);
{inta,b,m,n;
pleaseinputa,b:
n=lcm(a,b);
lcm(%d,%d)=%d\n"
a,b,n);
intgcd(inta,intb)
{inttdo
t=a%d;
intlcm(inta,intb)
t=a*b/gcd(a,b);
20编写判断水仙花得函数,从主函数输入一个三位正整数N,在主函数中调用判断水仙花数得函数,求出三位数中所有得水仙花数。
水仙花数就是指3位数得各位数字得立方与等于这个三位数本身。
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)
%d就是水仙花数\n"
m);
%d不就是水仙花数\n"
voidmain()
{intn;
f(n);
21将一个正整数逆续输出
stdio
、h>
intn,digit;
while(n!
{digit=n%10;
%d\n:
digit);
n=n/10;
22
例如,输入数就
从键盘输入一个正整数n,计算该数得各位数字之与并输出是5246,则计算5+2+4+6=17并输出。
intx,s=0,digit;
x);
while(x!
{digit=x%10;
循环
x=x/10;
s=s+digit;
s);
23输出九九乘法表。
inta,b;
for(a=1;
a<
=9;
a++);
for(b=1;
b<
=a;
b++);
%d*%d=%-2d"
a,b,a*b);
23用数组实现从键盘输入10个数,并且输出这10个数#include<
voidmain()
inta[10],*p=a,i;
Iput10numbers:
for(i=0;
10;
i++)
p+i);
a[10]:
%3d"
*(p+i));