c语言上机考试资料
江苏省等级考试(2级C)上机模拟题
模拟题一
一、改错题(18分)
【题目】
函数fun的功能是:输出M行M列整数方阵,然后求两条对角线上各元素之和,返回此和数。
含有错误的程序如下:
#include
#include
#define M 5
int fun(int n,int xx[][]) int fun(int n ,int xx[][M])
{ int i,j,sum; int i,j,sum=0
printf("\nThe %d x %d matrix:\n",M,M);
for(i=0;i
{ for(j=0;j
printf("%f",xx[i][j]); printf(“%d”,xx[i][j])
printf("\n");
}
for(i=0;i
sum+=xx[i][i]+xx[i][n-i]; sum+=xx[i][i]+xx[i][n-j-i]
return(sum);
}
main( )
{int aa[M][M]={ {1,2,3,4,5},{4,3,2,1,0},
{6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}};
clrscr( );
printf ("\nThe sum of all elements on 2 diagnals is %d.",fun(M,aa));
}
【要求】
1.将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。
2.改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译处理命令,但不能增加其他语句,也不能删去整条语句。
3.改正后的源程序(文件名myf1.c)必须放在考试软盘的根目录下,供阅卷用,否则不予评分。
二、编程题(22分)
【题目】
1.编写函数fun,函数的功能是:移动字符串中的内容,移动的规则如下:把第1到第m个字符平移到字符串的最后,把第m+1到最后的字符串移到字符串的前部。例如:字