江苏省二级C上机真题2011春参考答案 下载本文

江苏省高等学校非计算机专业学生

计算机基础知识和应用能力等级考试上机试卷(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;ia[j][2])

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(kj) */

3、/* pmax=temp; 改为:strcpy(pmax,temp); */ 4、/* i=count(a[],max[]); 改为:i=count(a,max); */

二、编程题(24分) 【程序功能】

将一个二维数组中的若干行数据按要插入到另一个二维数组中。 【参考源程序】 #include #define N 4

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,\}