1、计算机二级(C)上机考试 24 及答案解析(总分:-3.00,做题时间:120 分钟)1.填空题 从键盘输入一组无符号整数并保存在数组 xxN中,以整数结束输入,要求这些数的最大位数不超过位,其元素的个数通过变量 num 传入函数 fun()。请补充函数 fun(),该函数的功能是:从数组 xx 中找出个位和十位的数字之和大于的所有无符号整数,结果保存在数组 yy 中,其个数由函数fun()返回。 例如:当 xx8=123,11,25,222,42,333,14,5451时, bb4=25,42,333,5451。 注意:部分源程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,
2、仅在函数 fun 的横线上填入所编写的若干表达式或语句。 试题程序: #include #define N 1000 int fun(int xx,int bb,int num) int i, n=0; int g, s; for(i=0;i5) 【2】; return【3】; main() int xxN; int yyN; int num=0,n=0,i=0; printf(“Input number :/n“); do scanf(“%u“, while(xxnum+!=0); n=fun(xx,yy,num); printf(“/nyy=“); for(i=0;i_2.改错题 下列给定
3、程序中,函数 fun()的功能是:依次取出字符串中所有的字母,形成新的字符串,并取代原字符串。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include #include void fun(char *s) int i,j; for(i=0,j=0; si!= /0; i+) /*found*/ if(si= A 正确:sj=/0; )解析:错误 1:字母包括小写字母和大写字母,这里是“或“的关系,所以用“|“运算符。 错误 2:字符串的结束标志符为字符,而不是字符串。 3.编程题 下列程序定义了 NN 的二
4、维数组,并在主函数中赋值。请编写函数 fun(),函数的功能是:求出数组周边元素的平方和并作为函数值返回给主函数中的 s。例如:若 a 数组中的值为 a=0 1 2 7 9 1 11 21 5 5 2 21 6 11 1 9 7 9 10 2 5 4 1 4 1 则返回主程序后 s 的值应为 310。 注意:部分源程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。 试题程序: #include #include #include #define N 5 int fun (int wN) main() int aNN=0,1,2,7,9,1,11,21,5,5,2,21,6,11,1,9,7,9,10,2,5,4,1,4,1; int i, j; int s; clrscr(); printf(“*The array*/n “); for (i=0; i_正确答案:(int fun (int wN) int i,j,k=0; int s=0; for(i=0;i解析:该题采用逐一判断的方式,周边元素的下标一定有一个是 0 或 N-1,且只要下标中有一个为 0 或 N-1,则它一定是周边元素。