2012年3月计算机2级答案(4)

2019-05-17 14:54

}

20、给定程序中,函数fun的功能是:有N×N矩阵,根据给定的m(m<=N)值,将每行元素中的值均右移m个位置,左边置为0。例如,N=3,m=2,有下列矩阵 1 2 3 4 5 6

7 8 9程序执行结果为 0 0 1 0 0 4 0 0 7

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!

#include #define N 4

void fun(int (*t)[N], int m) { int i, j;

/**********found**********/ for(i=0; i=0; j--) /**********found**********/

t[i][j+___2___ ]=t[i][j]; /**********found**********/ for(j=0; j<___3___; j++) t[i][j]=0; } }

main()

{ int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10}, i, j, m; printf(\ for(i=0; i

printf(\ printf(\ }

printf(\ fun(t,m);

printf(\ for(i=0; i

printf(\ printf(\ }

}

21、函数fun的功能是:把形参a所指数组中的偶数按原顺序依次存放到a[0]、a[1]、a[2]、??中,把奇数从数组中删除,偶数个数通过函数值返回。例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除奇数后a所指数组中的数据为:4、2、6、8,返回值为4。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #define N 9

int fun(int a[], int n) { int i,j; j = 0;

for (i=0; i

/**********found**********/ if (___1___== 0) { /**********found**********/ ___2___ = a[i]; j++; }

/**********found**********/ return ___3___; }

main()

{ int b[N]={9,1,4,2,3,6,5,8,7}, i, n; printf(\

for (i=0; i

printf(\:%d\\n\ printf(\

for (i=0; i

22、给定程序中,函数fun的功能是:判定形参a所指的N×N(规定N为奇数)的矩阵是否是\幻方\,若是,函数返回值为1; 不是,函数返回值为0。\幻方\的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。 例如,以下3×3的矩阵就是一个\幻方\: 4 9 2 3 5 7 8 1 6

请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构! #include #define N 3

int fun(int (*a)[N])

{ int i,j,m1,m2,row,colum; m1=m2=0;

for(i=0; i

{ j=N-i-1; m1+=a[i][i]; m2+=a[i][j]; } if(m1!=m2) return 0; for(i=0; i

/**********found**********/ row=colum= __1__; for(j=0; j

{ row+=a[i][j]; colum+=a[j][i]; } /**********found**********/

if( (row!=colum) __2__ (row!=m1) ) return 0; }

/**********found**********/ return __3__; }

main()

{ int x[N][N],i,j;

printf(\ for(i=0; i

for(j=0; j

{ for(j=0; j

if(fun(x)) printf(\ else printf(\}

23、给定程序中,函数fun的功能是将a和b所指的两个字符串分别转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含9个以下数字字符。

例如,主函数中输入字符串:32486和12345,在主函数中输出的函数值为:44831。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #include #include #define N 9

long ctod( char *s ) { long d=0; while(*s)

if(isdigit( *s)) { /**********found**********/ d=d*10+*s-__1__;

/**********found**********/ __2__; } return d; }

long fun( char *a, char *b ) {

/**********found**********/ return __3__; }

main()

{ char s1[N],s2[N]; do

{ printf(\ while( strlen(s1)>N ); do

{ printf(\ while( strlen(s2)>N );

printf(\}

24、给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参s所指的字符串为:abcdefgh,执行结果为:ahcbedgf。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!

#include void fun(char *s)

{ int i, n, k; char c; n=0;

for(i=0; s[i]!='\\0'; i++) n++; /**********found**********/ if(n%2==0) k=n-___1___ ; else k=n-2;

/**********found**********/ c=___2___ ;

for(i=k-2; i>=1; i=i-2) s[i+2]=s[i]; /**********found**********/ s[1]=___3___ ; }

main()

{ char s[80]=\

printf(\ fun(s);

printf(\}

25、给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。ss所指字符串数组中共有M个字符串,且串长

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #include #define M 5 #define N 20

void fun(char (*ss)[N]) { int i, j, n, len=0; for(i=0; in)n=len; }

for(i=0; i

main()

{ char ss[M][N]={\ int i;

printf(\ for(i=0; i


2012年3月计算机2级答案(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中小学生防溺水安全教育材料

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: