江苏省高等学校非计算机专业学生
计算机基础知识和应用能力等级考试上机试卷(2011年春)
二级 C语言 C01
(本试卷完成时间 70分钟)
一、改错题(16分) 【共有四处错误】
1、/* 改为:str[j]=='a'&&str[k-1]=='e' */ 2、/* 改为:(k-j)%2==0 */
3、/* 改为: m=j;m 二、编程题(24分) 【程序功能】 矩阵数据生成及排序。 【参考源程序】 #include void cresort(int a[][3],int n) { int i,j,k,b[2]={1,1},t; for(i=0;i for(j=0;j<2;j++) { for(k=2;k if(a[i][j]%k==0) b[j]=0; } if(b[0]) if(b[1]) a[i][2]=4; else a[i][2]=3; else if(b[1]) a[i][2]=2; else a[i][2]=1; b[0]=b[1]=1; } for(i=0;i for(k=0;k<3;k++) { t=a[i][k]; a[i][k]=a[j][k]; a[j][k]=t; } } void main() { FILE *fp; int a[5][3]={{27,16},{11,12},{6,9},{7,13},{8,5}}; int i,j; if((fp=fopen(\ { printf(\ exit(0); } cresort(a,5); for(i=0;i<5;i++) { for(j=0;j<3;j++) { printf(\ fprintf(fp,\ printf(\ } fprintf(fp,\} 江苏省高等学校非计算机专业学生 计算机基础知识和应用能力等级考试上机试卷(2011年春) 二级 C语言 C02 (本试卷完成时间 70分钟) 一、改错题(16分) 【共有四处错误】 1、/* temp[k]= \改为:temp[k]='\\0'; */ 2、/* if(k 3、/* pmax=temp; 改为:strcpy(pmax,temp); */ 4、/* i=count(a[],max[]); 改为:i=count(a,max); */ 二、编程题(24分) 【程序功能】 将一个二维数组中的若干行数据按要插入到另一个二维数组中。 【参考源程序】 #include int insert_row(int a[][N],int n,int b[][N],int m) { int i,j,k,c[4]={0},t; for(i=2;i<4;i++) for(j=0;j { for(j=i+1;j<4;j++) if(c[i]>c[j]) { t=c[i],c[i]=c[j],c[j]=t; for(k=0;k<4;k++) t=a[i][k],a[i][k]=a[j][k],a[j][k]=t; } } return n; } void main() { FILE *fp; int x[4][N]={{2,2,3,4},{9,10,11,12}},y[2][N]={1,3,5,7,5,10,15,20}; int i,j; if((fp=fopen(\ { printf(\ exit(0); } insert_row(x,4,y,2); for(i=0;i { printf(\ fprintf(fp,\ } printf(\ fprintf(fp,\ } fprintf(fp,\}