c语言综合练习题及答案 下载本文

{int a[5][5],i,j,sum=0,min; for(i=0;i<5;i++) for(j=0;j<5;j++) scanf(“%d”,&a[i][j]); min=a[0][0]; for(i=0;i<5;i++) for(j=0;j<5;j++)

{if(i= =0||i= =4) sum=sum+a[i][j]; else if(j= =0||j= =4) sum=sum+a[i][j]; else if(i= =j) sum=sum+a[i][j]; else if(i+j= =4) sum=sum+a[i][j]; if(min>a[i][j]) min=a[i][j]; }

printf(“sum=%d,min=%d”,sum,min); }

3. #include

main( )

{char *months[ ]={“January”,”February”,”March”,”April”,”May”,”June”,”July”, “August”,”September”,”October”,”November”,”December”}; int n;

printf(“月份:”);

scanf(“%d”,&n); if(n<=12&&n>=1)

printf(“%d月的英文名称是%s\\n”,n,*(months+n-1));

else

printf(“输入的月份无效!\\n”); }

模拟试题五答案

一、选择题(本大题30分,每小题2分)

1~5 C D C B A 6~10 A C B B A 11~15 D A A C B 二、 判断题(本大题10分,每小题1分) 1.× 2.× 3.√ 4.× 5.× 6.√ 7.√ 8.× 9.× 10.×

三、程序填空题(本大题12分,每小题2分)

评分标准:全对的满分,半对半错的给一半分,全错的不得分。

1.(1)m=100 (2)m/10 (3)a[i]=m 2.(4)i<10 (5)array[i]

(6)average(score)

四、写出下面程序的执行结果(本大题24分,每小题4分) 评分标准:全对的满分,半对半错的给一半分,全错的不得分。 1.0

2. ******

* * * * ****** 3.3,3 4.A+B=9 5.GFEDCB 6.10,x

五、编程题(本大题24分,第一题7分,第二题8分,第三题9分)

1.main( )

{int num,a,b,c,d,p; scanf(“%d”,&num);

if(num<=9999&&num>999) p=4; else if(num>99) p=3; else if(num>9) p=2; else if(num>0) p=1; printf(“位数是:%d\\n”,p); a=num/1000; b=num/100; c=num/10; d=num; switch(p)

{case 4:printf(“%d%d%d%d\\n”,d,c,b,a); case 3:printf(“%d%d%d \\n”,d,c,b); case 2:printf(“%d%d\\n”,d,c); case 1:printf(“%d \\n”,d); }

}

2. main( )

{int a[4][4],i,j,sum; for(i=0;i<4;i++) for(j=0;j<4;j++) scanf(“%d”,&a[i][j]); sum=he(a);

huan(a);

printf(“sum=%d”,sum); }

he(int b[ ][ ]) { int i,j,sum=0; for(i=0;i<4;i++) for(j=0;j<4;j++)

if(i= =j) sum=sum+b[i][j];

else if(i+j= =3) sum=sum+b[i][j]; return(sum); }

huan(int b[][]) {int c[4][4], i,j; for(i=0;i<4;i++) for(j=0;j<4;j++) c[j][i]=b[i][j]; for(i=0;i<4;i++) {for(j=0;j<4;j++) printf(“%d”,c[i][j]); printf(“\\n”); } } 3.main( )

{ void tongji(char c[ ],char d[ ]); char zuida(char c[ ]);

char a[10],b[10],max1,max2; int i;

for(i=0;i<10;i++)

scanf(“%c”,&a[i]); for(i=0;i<10;i++) scanf(“%c”,&b[i]); max1=zuida(a);

max2=zuida(b);

printf(“max1=%c,max2=%c”,max1,max2); tongji(a,b); }

char zuida(char c[ ]) {int i; char max=c[0]; for(i=1;i<10;i++)

if(max

void tongji(char c[ ],char d[ ]) {int i,da=0,deng=0,xiao=0; for(i=0;i<10;i++)

if(c[i]>d[i]) da++; else if(c[i]= =d[i]) deng++; else xiao++;

printf(“da=%d,deng=%d,xiao=%d”,da,deng,xiao); }