c语言考试试题以及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 编程求和1-2+3-4+5-6+…+99-100
#include<>
int main()
{
int i,t,s;
s=0;
t=1;
for(i=1;i<=100;i++)
{
t=-t;
s=s+(-t)*i;
}
printf("%d\n",s);
system("pause");
return 0;
}
2.求:1+(1+2)+(1+2+3)+…+(1+2+3+….10) 的和
#include<>
int main()
{
int i,t,s;
s=0;
t=0;
for(i=1;i<=10;i++)
{
t=t+i;
s=s+t;
}
printf("%d\n",s);
system("pause");
return 0;
}
3. 求n的值,其中a是一个不为0的数字,例如2+22+222+2222+22222,其中数字a和n由键盘输入。
#include<>
int main()
{
int a,n,i=1,sn=0,tn=0;
printf("a,n:");
scanf("%d %d",&a,&n);
while(i<=n)
{tn=tn+a;
sn=sn+tn;
a=a*10;
i++;
}
printf("%d\n",sn);
system("pause");
return 0;
}
4. 有一个函数如下:
x (x<5)
y= 2x+6 (5<=x<15)
2x-6 (x>=15)
输入x的值,计算出相应的y值。
#include<>
int main()
{
int x,y;
printf("输入X:");
scanf("%d",&x);
if(x<5)
{
y=x;
printf("x=%3d,y=x=%d\n",x,y);
}
else if(x>=5&&x<15)
{y=2*x+6;
printf("x=%3d,y=2*x+6=%d\n",x,y);
}
else
{y=2*x-6;
printf("x=%3d,y=2*x-6=%d\n",x,y);
}
system("pause");
return 0;
}
5. 某国的税收政策为:1000元以下免税,1000~2000元缴纳5%的税,2000~4000元上税10%,4000元以上按20%交税。试编写程序,输入一个人的收入,计算其需要上缴的税额。
#include<>
int main()
{
float a;
scanf("%f",&a);
if(a<=1000)
{
printf("免税",a);
}
if(a>1000&&a<=2000)
{
printf("%f",a*);
}
if(a>2000&&a<=4000)
{
printf("%f",a*);
}
else
printf("%f",a*);
system("pause");
return 0;
}
6. 编程分段统计学生成绩,输入为负数时结束。要求按90-100、80-89、70-79、60-69、60以下五档分别统计各分数段人数
#include<>
int main()
{
float score;
int a[6]={0,0,0,0,0,0};
char grade;
int i;
do{
scanf("%f",&score);
switch((int)(score/10))
{case 10:
case 9: a[0]=a[0]+1;break;
case 8: a[1]=a[1]+1;break;
case 7: a[2]=a[2]+1;break;
case 6: a[3]=a[3]+1;break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0: a[4]=a[4]+1;
}
}while(score>0);
printf("90~~100: %d\n",a[0]);
printf("80~~89: %d\n",a[1]);
printf("70~~79: %d\n",a[2]);
printf("60~~69: %d\n",a[3]);
printf("60一下: %d\n",a[4]);
system("pause");
return 0;
}
7.某班有45个同学,现在输入所有同学的计算机成绩。编程求最高分、最低分和不及格的人数。
#include<>
#include<>
int main()
{
int max(int a[45]);
int min(int a[45]);
int fail(int a[45]);
int i,a[45],Max,Min,Fail;
printf("请输入成绩:\n");
for(i=0;i<45;i++)
scanf("%d",&a[i]);
printf("\n");
Max=max(a);
Min=min(a);
Fail=fail(a);
printf("最大值是:%d\n",Max);
printf("最小值是:%d\n",Min);
printf("不及格是:%d\n",Fail);
system("PAUSE");
}
int max(int a[45])
{int i,m;m=a[0];
for(i=0;i<45;i++)
{
if(m<=a[i])
m=a[i];
}
return m;
}
int min(int a[45])