1、国家二级 C语言机试(操作题)模拟试卷 218及答案与解析 一、程序填空题 1 函数 fun的功能是:输出 a所指数组中的前 n个数据,要求每行输出 5个数。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1 C中。不得增行或删行,也不得更改程序的结构 ! 试题程序: 1 #include stdio h 2 #include stdlib h 3 void fun(int*a, int n) 4 int i; 5 for(i=0; i n; i+) 6 7 *found* 8 if(【 1】 =0) 9 *found* 1
2、0 printf(【 2】 ); 11 *found* 12 printf( d, 【 3】 ); 13 14 15 main() 16 int a100=0, i, n; 17 n=22; 18 for(i=0 ; i n ; i+) 19 ai=rand() 21; 20 fun(a, n); 21 printf( n); 22 二、程序修改题 2 下列给定程序中函数 fun的功能是:计算 n!。 例如,给 n输入 5,则输出 120 000000。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! 试题程序: 1 #include stdio h 2 #include conio h 3 double fun(int n) 4 5 double result=1 0; 6 *found* 7 if n=0 8 return 1 0; 9 while(n1 n=0)& (*p=9) 6 n+; 7 return n; 8 【试题解析】 要统计字符串中数字字符的个数,首先应定义变量 n,并初始化为0,然后遍历字符串,逐个判断字符是否为数字字符,判断条件为该元素的 ASCII码在字符 0和 9的 ASCII码之间,若判断条件成立,则使 n的值加 1,否则,继续判断下一个字符,直到字符串结束。