1、上机应试指导及答案解析(总分:18.00,做题时间:90 分钟)一、B填空题/B(总题数:3,分数:6.00)1.给定的程序中,fun 函数的功能是:将 M行 N列的矩阵中的数据,按行的顺序依次放在一维数组中,一维数组中的元素的个数存放在形参 n所指的存储单元中。 请在程序的下划线处填写正确的内容,使程序得到正确的结果。 void fun(int(*S)10,int*b,int*n,int mm,int nn) int i,j; for(i=0;imm;s+,i+) for(j=0;jU (1) /U;j+) U (2) /U; U(3) /U main() int w1010=11,12,1
2、3,14,21,22,23,24,31,32,33,34,i,j; int a100=0,n=0: printf(“The matrix:/n“); for(i=0;i3;i+) for(j=0;j4;j+) printf(“%3d“,wij);printf(“/n“); fun(w,a,/n“); for(i=0;in;i+) printf(“%3d”,ai;printf(“/n/n“); NONO();严本函数与考生答题无关,考生不得改动,否则后果自负。*/ (分数:2.00)填空项 1:_2.给定的程序中,fun 函数的功能是:将 s所指字符串中除了下标为偶数,同时 ASCH值为偶数的字
3、符除外,其余的全部删除;串中剩余字符所形成的一个新串放在 t所指的数组中。如:若 s所指字符串中的内容为:”desktop12345“,t 所指字符串中的内容为:“dtp24“。 请在程序的下划线处填写正确的内容,使程序得到正确的结果。 #inClUde conio.h #include stdio.h #include string.h void fun (Char *s,char t) int i,j; for(i=0,j=0;U (1) /U;i+) if(i%2=0j=k;j+) if(!k%j)j3;j+) printf(“%d“,xyij); printf(“/n“): NONO(
4、);/*本函数与考生答题无关,考生不得改动,否则后果自负。*/ (分数:2.00)_上机应试指导答案解析(总分:18.00,做题时间:90 分钟)一、B填空题/B(总题数:3,分数:6.00)1.给定的程序中,fun 函数的功能是:将 M行 N列的矩阵中的数据,按行的顺序依次放在一维数组中,一维数组中的元素的个数存放在形参 n所指的存储单元中。 请在程序的下划线处填写正确的内容,使程序得到正确的结果。 void fun(int(*S)10,int*b,int*n,int mm,int nn) int i,j; for(i=0;imm;s+,i+) for(j=0;jU (1) /U;j+) U
5、 (2) /U; U(3) /U main() int w1010=11,12,13,14,21,22,23,24,31,32,33,34,i,j; int a100=0,n=0: printf(“The matrix:/n“); for(i=0;i3;i+) for(j=0;j4;j+) printf(“%3d“,wij);printf(“/n“); fun(w,a,/n“); for(i=0;in;i+) printf(“%3d”,ai;printf(“/n/n“); NONO();严本函数与考生答题无关,考生不得改动,否则后果自负。*/ (分数:2.00)填空项 1:_ (正确答案:vo
6、id fun (int(*s) 10,int *b,int*n,int mm,int nn))解析:int i,j; for(i=0;imm;s+,j+) for(j=0;jnn;j+) *(b+i*nn+j)=(*s)j; *n=mm*nn; 2.给定的程序中,fun 函数的功能是:将 s所指字符串中除了下标为偶数,同时 ASCH值为偶数的字符除外,其余的全部删除;串中剩余字符所形成的一个新串放在 t所指的数组中。如:若 s所指字符串中的内容为:”desktop12345“,t 所指字符串中的内容为:“dtp24“。 请在程序的下划线处填写正确的内容,使程序得到正确的结果。 #inClUde
7、 conio.h #include stdio.h #include string.h void fun (Char *s,char t) int i,j; for(i=0,j=0;U (1) /U;i+) if(i%2=0 for(i=0,j=0;si;i+) if(i%2=0j=k;j+) if(!k%j)j3;j+) printf(“%d“,xyij); printf(“/n“): NONO();/*本函数与考生答题无关,考生不得改动,否则后果自负。*/ (分数:2.00)_正确答案:()解析:void fun (int a34,int b43,int ab33 int j,k,1; for(k=0;k3;k+) for(1=0;13;1+) for(j=0; j4; j+) abk1+=akj*bj1;