1、国家二级 C语言机试(操作题)模拟试卷 35及答案与解析 一、程序填空题 1 函数 fun的功能是:逆置数组元素中的值。例如:若 a所指数组中的数据依次为: 1、 2、 3、 4、 5、 6、 7、 8、 9,则逆置后依次为: 9、 8、 7、 6、 5、 4、 3、 2、1。形参 n给出数组中数据的个数。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANKl C中。 不得增行或删行,也不得更改程序的结构 ! #inClude Void fun(int a, int n) int i, t; /*found*/ for(2=0;
2、 i int fun(unsigned n, int *zero) int count=0, max=0, t; do t=n 10; /*found*/ if(t=0) count+; if(maxshanghai(为回车键 ),函数将返回 shanghai。 注意:部分源程序存在文件 PROGl C中。 请勿改动主函数 main和其他函数中的任何 内容,仅在函数 fun的花括号中填入你编写的若干语句。 #inoiude char*fun(char*s, char * t) main() char a20, b2 0; void NONO(); printf(“Input 1th strin
3、g: ”); gets(a); printf(“Input; 2th string: ”); gets(b); printf(“ s n”, fun (a, b); NONO(); void NONO() *本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 * FILE *fp, *wf; int i ; char a2 0, b2 0; fp=fopen(“in dat”, “r”); wf=fopen(“out dat”, “w”); for(i=0; i=m) 比较 m和 n的值,设置 p 指向较大的指针 p=s; else p=t; return p; 【试题解析】 该程序功能是比较两个字符串的长度。解题过程是首先分别求得两个字符串的长度,然后对这两个值进行判断,实现两个字符串长度的比较。 解题思路 进入 fun函数,根据前面的分析: (1)首先求得字符串的长度,设变量 n和 m分别用来求字符串的长度,初值设为0,把字符串中的字符逐个访问,每访问一个字符, n和 m分别加 1,直到字符串结束。 (2)使用两个临时指针变量 p、 q分别作为访问字符串的变量。 (3)根据 m和 n的值返回串,设置指针 p,指向返回串的开始地址。