国二上机考试习题库

2019-08-01 23:01

一、填空题 考试做题要求:

1、在__1__处填写正确的答案,并将下划线和数字删除。 2、将题目做完之后一定要保存。

3、不能删除/**********found**********/,也不能多行或少行。 1、(循环)给定程序中,函数fun的功能是:在形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回所剩字符串的个数。ss所指字符串数组中共有N个字符串,且串长小于M。

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

int fun(char (*ss)[M], int k) { int i,j=0,len;

/**********found**********/ for(i=0; i< __1__ ; i++) { len=strlen(ss[i]);

/**********found**********/ if(len<= __2__)

/**********found**********/ strcpy(ss[j++],__3__); }

return j; }

main()

{ char x[N][M]={\ int i,f;

printf(\

for(i=0;i

printf(\ for(i=0; i

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

void fun(int (*a)[N], int *b) { int i,j;

for(i=0; i

/**********found**********/ b[i]= __1__;

for(j=1; j

/**********found**********/

if(b[i] __2__ a[j][i]) b[i]=a[j][i]; } }

main()

{ int x[N][N]={ {12,5,8,7},{6,1,9,3},{1,2,3,4},{2,8,4,3} },y[N],i,j; printf(\ for(i=0;i

{ for(j=0;j

/**********found**********/ fun(__3__);

printf(\

for(i=0; i

1

3、(指针后移)给定程序中,函数fun的功能是:将形参s所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。

例如,形参s所指的字符串为:abs5def126jkm8,程序执行后的输出结果为:22。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #include #include int fun(char *s) { int sum=0; while(*s) {

/**********found**********/

if( isdigit(*s) ) sum+= *s- __1__ ; /**********found**********/ __2__; }

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

main()

{ char s[81]; int n;

printf(\ gets(s); n=fun(s);

printf(\ %d\\n\\n\} 4、(循环)给定程序中,函数fun的功能是:找出100~999之间(含100和999)所有整数中各位上数字之和为x(x为一正整数)的整数,然后输出;符合条件的整数个数作为函数值返回。

例如,当x值为5时,100~999之间各位上数字之和为5的整数有:104、113、122、131、140、203、212、221、230、302、311、320、401、410、500。共有15个。当x值为27时,各位数字之和为27的整数是:999。只有1个。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include fun(int x)

{ int n, s1, s2, s3, t; n=0; t=100;

/**********found**********/ while(t<=__1__){

/**********found**********/

s1=t; s2=(__2__); s3=t/100; /**********found**********/ if(s1+s2+s3==__3__) { printf(\ n++; } t++; }

return n; }

main() { int x=-1; while(x<0)

{ printf(\ scanf(\ } printf(\} 5、(函数参数:数组指针)给定程序中,函数fun的功能是建立一个N×N的矩阵。 矩阵元素的构成规律是:最外层元素的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,…依次类推。例如,若N=5,生成的矩阵为: 1 1 1 1 1 1 2 2 2 1 1 2 3 2 1 1 2 2 2 1 2

1 1 1 1 1

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

/**********found**********/ void fun(int (*a) __1__) { int i,j,k,m;

if(N%2==0) m=N/2 ; else m=N/2+1; for(i=0; i

/**********found**********/ for(j= __2__ ; j

a[k][i]=a[k][N-i-1]= __3__; } }

main()

{ int x[N][N]={0},i,j; fun(x);

printf(\ for(i=0; i

{ for(j=0; j

例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为:30.500000 主函数中输出:46 32 40 45 48

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

double fun(double x[],double *y) { int i,j; double av;

/**********found**********/ av=__1__;

/**********found**********/

for(i=0; i

/**********found**********/ if(x[i]>av) y[__3__]= x[i]; y[j]=-1; return av; }

main()

{ int i; double x[N],y[N];

for(i=0; i

printf(\ for(i=0; y[i]>=0; i++) printf(\ printf(\} 7、(函数参数)给定程序中,函数fun的功能是:将a所指4×3矩阵中第k行的元素与第0行元素交换。 例如,有下列矩阵: 1 2 3 4 5 6 7 8 9 10 11 12

3

若k为2,程序执行结果为: 7 8 9 4 5 6 1 2 3 10 11 12

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

/**********found**********/ void fun(int (*a)[N], int __1__) { int i,j,temp ;

/**********found**********/ for(i = 0 ; i < __2__ ; i++) { temp=a[0][i] ;

/**********found**********/ a[0][i] = __3__ ; a[k][i] = temp ; } }

main()

{ int x[M][N]={ {1,2,3},{4,5,6},{7,8,9},{10,11,12} },i,j; printf(\ for(i=0; i

{ for(j=0; j

fun(x,2);

printf(\ for(i=0; i

{ for(j=0; j

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

double f2(double x, double y) { return x*y; }

/**********found**********/

__1__ fun(int i, double x, double y) { if (i==1)

/**********found**********/ return __2__(x); else

/**********found**********/ return __3__(x, y); }

main()

{ double x1=5, x2=3, r; r = fun(1, x1, x2); r += fun(2, x1, x2);

printf(\} 9、(指针与数组)给定程序中,函数fun的功能是:将形参s所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。

例如,s所指字符串为:asd123fgh5##43df, 4

处理后新字符串为:123543asdfgh##df。

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

{ int i, j, k, n; char *p, *t; n=strlen(s)+1;

t=(char*)malloc(n*sizeof(char)); p=(char*)malloc(n*sizeof(char)); j=0; k=0;

for(i=0; i

/**********found**********/ p[__1__]=s[i]; j++;} else

{ t[k]=s[i]; k++; } }

/**********found**********/

for(i=0; i<__2__; i++) p[j+i]= t[i]; p[j+k]=0;

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

main()

{ char s[80];

printf(\ scanf(\ printf(\}

10、给定程序中,函数fun的功能是:在3×4的矩阵中找出在行上最大、在列上最小的那个元素,若没有符合条件的元素则输出相应信息。

例如,有下列矩阵: 1 2 13 4 7 8 10 6 3 5 9 7

程序执行结果为:find: a[2][2]=9

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

{ int i=0,j,find=0,rmax,c,k; while( (i/**********found**********/

rmax=a[i][j]; c= __1__ ; } find=1; k=0;

while(k

if (k!=i && a[k][c]<=rmax) find= __2__ ; k++; }

if(find) printf(\/**********found**********/ __3__ ; }

if(!find) printf(\}

5


国二上机考试习题库.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:同期论文

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

马上注册会员

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