C语言测验题带详解答案Word格式.docx
《C语言测验题带详解答案Word格式.docx》由会员分享,可在线阅读,更多相关《C语言测验题带详解答案Word格式.docx(23页珍藏版)》请在冰豆网上搜索。
%lf"
&
r)。
if(r>
=0)
{area=PI*r*r。
girth=2*PI*r。
theareais%.2f\n"
area)。
thegirthis%.2f\n"
girth)。
else
Inputerror!
3、已知函数y=f(x),编程实现输入一个x值,输出y值。
2x+1(x<
0)
y=0(x=0)
2x-1(x>
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。
voidmain(){
intdata。
chargrade。
Pleaseenterthescore:
"
%d”,&
data)。
switch(data/10)
{case10:
case9:
grade=。
’breakA’。
case8:
’B’break。
case7:
’C’break。
case6:
’D’break。
default:
’E’
thegradeis%c”。
grade)
5.编一程序每个月根据每个月上网时间计算上网费用,计算方法
如下:
30元
10小时
费用
每小时3元
1050小时
每小时2.5元
50小时
要求当输入每月上网小时数,显示该月总的上网费用(6分)
{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个整数,统计其中正数、负数和零的个数,并在屏幕上输出。
voidmain(){
inta,i,p=0,n=0,z=0。
pleaseinputnumber"
for(i=0。
i<
10。
i++){
%d,"
a)。
if(a>
0)p++。
elseif(a<
0)n++。
elsez++。
正数:
%5d,负数:
%5d,零:
%5d\n"
p,n,z)。
7、编程序实现求1-10之间的所有数的乘积并输出。
voidmain()
{inti;
longsum=1。
for(i=1。
i<
=10。
i=i+1)
sum=sum*i。
printf(“thesumofoddis:
%ld。
”,sum)
8.从键盘上输入10个数,求其平均值。
inta,i,sum=0。
floatave。
。
%d"
a)。
sum+=a。
ave=(float)sum/10。
ave=%f\n"
ave)。
9、编程序实现求1-1000之间的所有奇数的和并输出。
{inti,sum=0。
1000。
i=i+2)
sum=sum+i。
%d。
10.有一个分数序列:
2/1,3/2,5/3,8/5,13/8,编程求这个序
列的前20项之和。
inti,t,n=20。
floata=2,b=1,s=0。
=n。
i++)
{s=s+a/b。
t=a。
a=a+b。
b=t。
sum=%6.2f"
11.从键盘输入两个数,求出其最大值(要求使用函数完成求最大
值,并在主函数中调用该函数)
floatmax(floatx,floaty)。
{floata,b,m。
scanf("
%f,%f"
b)。
m=max(a,b)。
Maxis%f\n"
m)。
floatmax(floatx,floaty)
{
if(x>
=y)
returnx。
returny。
12.编写程序,其中自定义一函数,用来判断一个整数是否为素数,主函数输入一个数,输出是否为素数。
math.h>
intIsPrimeNumber(intnumber)
{inti。
if(number<
=1)
for(i=2。
sqrt(number)。
i++)
{if((number%i)==0)return0。
}
return1。
{intn。
printf(“Pleaseinput。
n:
”)
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]。
Entern:
"
&
n)。
Enter%dintegers:
\n"
n。
a[i])。
iIndex=0。
if(a[i]<
a[iIndex])iIndex=i。
temp=a[0]。
a[0]=a[iIndex]。
a[iIndex]=temp。
%5d"
a[i])。
第二种解法利用函数
#include<
intcomp(intarry[],intn)
inti,index,temp。
为数组赋值:
\n"
n。
arry[i])
for(i=1,index=0。
=n-1。
{if(arry[i]<
arry[index])
{index=i。
temp=arry[0]。
arry[0]=arry[index]。
arry[index]=temp。
{printf("
%d"
arry[i])。
main()
{intn。
inta[10]。
为n赋值:
comp(a,n)。
14.用数组实现以下功能:
输入5个学生成绩,而后求出这些成绩的平均值并显示出来。
{inta[5],s=0。
inti。
5。
i++)scanf(“%d”,&
a[i])。
i++)s=s+a[i]。
printf(“result=%f”。
s/5.0)
15、输入一个正整数n(n<
=6),再输入n×
n的矩阵,求其主