C语言测验题带详解答案.docx
- 文档编号:2290503
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:23
- 大小:18.53KB
C语言测验题带详解答案.docx
《C语言测验题带详解答案.docx》由会员分享,可在线阅读,更多相关《C语言测验题带详解答案.docx(23页珍藏版)》请在冰豆网上搜索。
C语言测验题带详解答案
一、编程题
1.输入2个整数,求两数的平方和并输出。
#include
intmain(void)
{intta,b,s。
printf("pleaseinputa,b:
\n")。
scanf("%d%d”,&a,&b)。
s=a*a+b*b。
printf("theresultis%d\n",s)。
return0。
}
2.输入一个圆半径r,当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。
#include
#definePI3.14
intmain(void)
{doubler,area,girth。
printf("pleaseinputr:
\n")。
scanf("%lf",&r)。
if(r>=0)
{area=PI*r*r。
girth=2*PI*r。
printf("theareais%.2f\n",area)。
printf("thegirthis%.2f\n",girth)。
}
else
printf("Inputerror!
\n")。
return0。
}
3、已知函数y=f(x),编程实现输入一个x值,输出y值。
2x+1(x<0)
y=0(x=0)
2x-1(x>0)
#include
voidmain()
{intx,y。
scanf(“%d”,&x)。
if(x<0)y=2*x+1。
elseif(x>0)y=2*x-1。
elsey=0。
printf(“%d。
”,y)
}
4.从键盘上输入一个百分制成绩score,按下列原则输出其等级:
score≥,90等级为A;80≤score<90,等级为B;70≤score<80,等级为C;60≤score<70,等级为D;score<60,等级为E。
#include
voidmain(){
intdata。
chargrade。
printf("Pleaseenterthescore:
")。
scanf("%d”,&data)。
switch(data/10)
{case10:
case9:
grade=。
’breakA’。
case8:
grade=。
’B’break。
case7:
grade=。
’C’break。
case6:
grade=。
’D’break。
default:
grade=。
’E’
}
printf("thegradeis%c”。
grade)
}
5.编一程序每个月根据每个月上网时间计算上网费用,计算方法
如下:
30元
10小时
费用
每小时3元
1050小时
每小时2.5元
50小时
要求当输入每月上网小时数,显示该月总的上网费用(6分)
#include
voidmain()
{inthour。
floatfee。
printf(“pleaseinputhour:
n”)。
scanf(“%d”,&hour)。
if(hour<=10)
fee=30。
elseif(hour>=10&&hour<=50)
fee=3*hour。
elsefee=hour*2.5。
printf(“Thetotalfeeis%f。
”,fee)
}
6.从键盘输入10个整数,统计其中正数、负数和零的个数,并在屏幕上输出。
#include
voidmain(){
inta,i,p=0,n=0,z=0。
printf("pleaseinputnumber")。
for(i=0。
i<10。
i++){
scanf("%d,",&a)。
if(a>0)p++。
elseif(a<0)n++。
elsez++。
}
printf("正数:
%5d,负数:
%5d,零:
%5d\n",p,n,z)。
}
7、编程序实现求1-10之间的所有数的乘积并输出。
#include
voidmain()
{inti;
longsum=1。
for(i=1。
i<=10。
i=i+1)
sum=sum*i。
printf(“thesumofoddis:
%ld。
”,sum)
}
8.从键盘上输入10个数,求其平均值。
#include
voidmain(){
inta,i,sum=0。
floatave。
。
for(i=0。
i<10。
i++){
scanf("%d",&a)。
sum+=a。
}
ave=(float)sum/10。
printf("ave=%f\n",ave)。
}
9、编程序实现求1-1000之间的所有奇数的和并输出。
#include
voidmain()
{inti,sum=0。
for(i=1。
i<1000。
i=i+2)
sum=sum+i。
printf(“thesumofoddis:
%d。
”,sum)
}
10.有一个分数序列:
2/1,3/2,5/3,8/5,13/8,编程求这个序
列的前20项之和。
#include
voidmain(){
inti,t,n=20。
floata=2,b=1,s=0。
for(i=1。
i<=n。
i++)
{s=s+a/b。
t=a。
a=a+b。
b=t。
}
printf("sum=%6.2f",s)。
}
11.从键盘输入两个数,求出其最大值(要求使用函数完成求最大
值,并在主函数中调用该函数)
#include
floatmax(floatx,floaty)。
voidmain()
{floata,b,m。
scanf("%f,%f",&a,&b)。
m=max(a,b)。
printf("Maxis%f\n",m)。
}
floatmax(floatx,floaty)
{
if(x>=y)
returnx。
else
returny。
}
12.编写程序,其中自定义一函数,用来判断一个整数是否为素数,主函数输入一个数,输出是否为素数。
#include
#include
intIsPrimeNumber(intnumber)
{inti。
if(number<=1)
return0。
for(i=2。
i i++) {if((number%i)==0)return0。 } return1。 } voidmain() {intn。 printf(“Pleaseinput。 n: ”) scanf(“%d”,&n)。 if(IsPrimeNumber(n)) printf(“n%disaPrimeNumber”。 n) elseprintf(n%d“isnotaPrimeNumber。 ”},n) 13、从键盘输入n个数存放在数组中,将最小值与第一个数交换, 输出交换后的n个数。 #include intmain(void){ inti,n,iIndex,temp。 inta[10]。 printf("Entern: ")。 scanf("%d",&n)。 printf("Enter%dintegers: \n")。 for(i=0。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 测验 详解 答案