1、国家二级 C语言机试(操作题)模拟试卷 219及答案与解析 一、程序填空题 1 下列给定程序中,函数 fun的功能是:将形参 n所指变量中,各位上为偶数的数去掉,剩余的数按原来从高位到低位的顺序组成一个新数,并通过形参指针 n传回所指变量。 例如,若输入一个数 27638496,则新数为 739。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构 ! 试题程序: 1 #include stdio h 2 void fun(unsigned long*n) 3 unsigned long x=0, i; in
2、t t; 4 i=1; 5 while(* n) 6 * found* 7 t=*n 【 1】 ; 8 * found* 9 if(t 2 !=【 2】 ) 10 x=x+t*i; i=i*10; 11 * n=* n 10; 12 13 *found* 14 *n=【 3】 ; 15 16 main() 17 unsigned long n=-1 ; 18 while(n 99999999 n 0) 19 printf(Please input(0 n 100000000): ); 20 scanf( 1d, n); 21 fun( n); 22 printf(“knThe result i
3、s: 1d n“,n); 23 二、程序修改题 2 给定程序 MODI1 C中, fun函数的功能是:删除 b所指数组中小于 10的数据。主函数中输出删除后数组中余下的数据。 请改正函数 fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! 试题程序: 1 #include stdio h 2 #include stdlib h 3 #define N 20 4 int fun(int*b) 5 6 *found* 7 int tN, i, num 8 for(i=0; i=10) 10 *found* 11 t+num=bi;
4、 12 *found* 13 for(i=0; in。 例如: m=12, n=8时,运行结果为495 000000。 注意:部分源程序在文件 PROG1 C中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 试题程序: 1 #include stdio h 2 float fun(int m, int n)3 45 6 main() *主函数 * 7 void NONO();8 printf(p= f n, fun(12, 8); 9 NONO(); 10 11 void NONO()12 *本函数用于打开文件,输入数据,调用函数,输出数据
5、,关闭文件。 * 13 FILE*fp, *wf;14 int i, m, n; 15 float s; 16 fp=fopen(in dat, r);17 wf=fopen(out dat, w); 18 for(i=0 ; i 国家二级 C语言机试(操作题)模拟试卷 219答案与解析 一、程序填空题 1 【正确答案】 (1)10 (2)0 (3)x 【试题解析】 填空 1:通过 t对 10求余,取出该数值的各个位。 填空 2:通过 if条件语句实现奇偶数的判定。如果条件表达式对 2求余为 0即为偶数,反之则为奇数。 填空 3:最后将剩余的数赋给 n所指向的元素。 二、程序修改题 2 【正确
6、答案】 (1)int tN, i, num=0; (2)tnum+=bi;或 tnum=bi; num+; (3)for(i=0; inum; i+) 【试题解析】 要删除数组 b中小于 10的数,应依次取出数组数组 b中的元素与10进行比较, 若不小于 10,则将其存入数组 t中,遍历完成后,数组 t中的元素即为所求,再将数组 t中的元素保存到数组 b中即可。 (1)元素 num存放不小于 10的元素的个数,应将其初始化为 0。 (2)将数组 b中不小于 10的元素存人数组 t中,同时使数组 t的下标加 1。 (3)语法错误,没有 nun这个变量,应该为 num。 三、程序设计题 3 【正确答案】 1 long jc(int m) 2 3 long s=1 ; 4 int i; 5 for(i=1 ; i=m; i+)s=s*i; 6 return s; 7 8 float fun(int m, int n) 9 10 float p; 11 p=1 0*jc(m) jc(n) jc(m-n); 12 return p; 13 【试题解析】 本题考查算术运算的算法,先建立一个 jc函数来计算 m的阶乘,函数中使用一个 for循环来计算 m的阶乘,并将计算结果作为函数的返回值。在fun函数中调用 jc函数,来计算三个阶乘的除法。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1