1、国家二级 C+机试(操作题)模拟试卷 199及答案与解析 一、基本操作题 1 给定程序中,函数 fun的功能是:找出 NN矩阵中每列元素中的最大值,并按顺序依次存放于形参 b所指的一维数组中。 请在程序的中括号处填入正确的内容并把中括号删除,使程序得出正确的结果。 注意:部分源程序在文件 BLANKl C中。 不得增行或删行,也不得更改程序的结构 ! 试题程序: #include #define N 4 void fun(int(*a)N, int * b) int i, j; for(i=0; i #include #include #include void fun(char*s, cha
2、r*t) *found* int i; sl=strlen(s); for(i=0; i #include #define N 80 int fun(char*s) void main() FILE*wf; char lineN; int num=0; printf(“Enter a string: n“); gets(line); num=fun(lihe); printf(“The number of word is: d n n“, num); *found* wf=fopen(“out dat“, “w“); fprintf(wf, “ d“, fun(“a big car“); fc
3、lose(wf); *found* 国家二级 C+机试(操作题)模拟试卷 199答案与解析 一、基本操作题 1 【正确答案】 (1)a0i (2) (3)x, y 【试题解析】 填空 1:数组 b用于存放每列元素中的最大值,首先将第 i列的第一个数赋给 bi,然后用 bi与其他数进行比较,因此此空应填 a0i。 填空 2: if条件表达式表示当 bi小于 aji时,就把 aji的值赋给 bi,因此此空应该填 。 填空 3: fun函数的调用,通过 fun(int(*a)N, int*b)可知,此空应该填 x, y。 二、简单应用题 2 【正确答案】 (1)int i, s1; (2)ti=ss
4、1i1; 【试题解析】 (1)变量 s1没有定 义。 (2)该循环实现将 s串中的字符逆序存入 t串中, tj对应 s串中的 ss1 i 1。 三、综合应用题 3 【正确答案】 Int tun(cnar*s) int i, j=0; for(i=0; si!= 0; i+) if(si!=&(si+1= si+1= 0) *如果一个字母的下一个字符为空格或者结束标记,则表示一个单词结束 * j+; return j; *返回单词个数 * 【试题解析】 要判 断单词的个数,首先想到的是程序怎样识别出一个单词,如果一个字母的下一个字符为空格或者结束标记,则表示一个单词结束,因此程序使用 for循环语句遍历整个字符串,用 if条件语句判断当前字符是否表示一个单词的结束,如果当前字符表示一个单词结束,则存放单词个数的变量加 1,最后返回单词的个数。