经典C语言试题与题目
更新版
试卷一
1、改错题:输出各位数字为7的最小的10个素数,如7,17,37,47.。。。。。。。等。
#include
void main()
{
int i,j,flag,n;
n=0;
i=7;
while(n<=10) /*$ERROR1$*/ ---------while(n<10)
{
flag=0;
for(j=2;j
if(i/j==0) /*$ERROR2$*/ ---------if(i%j==0)
{
flag=1;
break;
}
if(flag>=0) /*$ERROR3$*/ ----------if(flag==0)
{
n=n+1;
printf("%d\n",i);
}
i=i+10;
}
}
2、程序填空:下列程序功能是:从键盘输入学生成绩,输出其对应的等级(90-100分为A,80-89为B,70-79为C,60-69为D,小于60为E)。
#include
void main()
{
int score;
printf("Enter your score:");
scanf("%d",___); /*$BLANK1$*/--------scanf(“%d”,&score);
printf("grade is:");
switch(___) /*$BLANK2$*/--------------switch(score/10)
{
case 10:
case 9:printf("A\n");break;
case 8:printf("B\n");break;
case 7:printf("C\n");break;
case 6:printf("D\n");break;
___:printf("E\n"); /*$BLANK3$*/-----------default
}
}
3、程序设计:计算300到2013之间所有能被9正除或能被13整除的自然数的平方根之和。
#include
#include
void PRINT(double s)
{
FILE *out;
printf("s=%.2f\n",s);
if((out=fopen("K:\\RESULT.DAT","w+"))!=NULL)
fprintf(out,"s=%.2f",s);
fclose(out);
}
void main()
{ double s=0;
Int i;
for(i=300;i<=2013;i++)
if(i%9==0||i%13==0)
s=s+sqrt(i);
PRINT(s);
}
试卷二
程序改错:输入一个百分制的成绩,根据成绩输出相应的等级。等级的划分如下:
90分以上为A,80分~89分为B,70~79为C,60~69为D,60分一下为E。
例如输入65,则显示D。
#include
void main()
{
int a;
scanf("%d",a); /*$ERROR1$*/------------scanf(“%d”,&a);
if(a<0||a>100)
printf("Data Error!\n");
else
{
else if(a>=90) printf("A\n"); /*$ERROR2$*/-------if(a>=90)printf(“A\n”);
else if(a>=80) printf("B\n");
else if(a>=70) printf("C\n");
else if(a>=60) printf("D\n");
printf("E\n"); /*$ERROR3$*/-----------else printf(“E\n”);
}
}
程序填空:给定程序的功能是:将正整数s中各位上的数字依次取出,按相反的次序构成一个新数放在t中。例如:s=1234,则t=4321.
#include
void main()
{
long s, t;
printf("\nPlease e