1、全国计算机二级 C 语言上机试题 73+2015 年及答案解析(总分:30.00,做题时间:90 分钟)1.给定程序中,函数 fun 的功能是计算下式 例如:若形参 e 的值为 1e-3,函数的返回值为 0.551690。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1.C 中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include double fun(double e) int i, k; double s, t, x; s=0; k=1; i=2; /*found*/ x=_1_/4; /*foun
2、d*/ while(x _2_ e) s=s+k*x; k=k* (-1); t=2*i; /*found*/ x=_3_/(t*t); i+; return s; main() double e=1e-3; printf(“/nThe result is: %f/n“,fun(e); (分数:10.00)_2.给定程序 MODI1.C 中函数 fun 的功能是:求出以下分数序列的前 n 项之和。和值通过函数值返回到main 函数。 2 3 5 8 13 21 , , , , , , 1 2 3 5 8 13 例如,若 n = 5,则应输出:8.391667。 请改正程序中的错误,使它能计算出
3、正确的结果。 注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include /*found*/ fun ( int n ) int a, b, c, k; double s; s = 0.0; a = 2; b = 1; for ( k = 1; k 。 第三处:分子的值是 2i+1,所以应填:2*i+1。)解析:2.给定程序 MODI1.C 中函数 fun 的功能是:求出以下分数序列的前 n 项之和。和值通过函数值返回到main 函数。 2 3 5 8 13 21 , , , , , , 1 2 3 5 8 13 例如,若 n = 5,则应输出:8.3
4、91667。 请改正程序中的错误,使它能计算出正确的结果。 注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include /*found*/ fun ( int n ) int a, b, c, k; double s; s = 0.0; a = 2; b = 1; for ( k = 1; k = n; k+ ) /*found*/ s = s + (Double)a / b; c = a; a = a + b; b = c; return s; main( ) int n = 5; printf( “/nThe value of function i
5、s: %lf/n“, fun ( n ) ); (分数:10.00)_正确答案:(第一处:由于计算的实型值要通过函数返回,所以必须定义函数的返回类型,只要 int 或void 可以省略,其他都要定义类型。由于返回是实型值,所以应在数名前加上 double 或 float 等定义。 第二处:double 的第 1 个字母错写成大写 D。)解析:3.请编写一个函数 fun,它的功能是:求出一个 2M 整型二维数组中最大元素的值,并将此值返回调用函数。 注意: 部分源程序存在文件 PROG1.C 文件中。 请勿改动主函数 main 和其它函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 给定源程序: #include #define M 4 fun (int aM) main( ) int arr2M=5,8,3,45,76,-4,12,82 ; printf(“max =%d/n“, fun(arr) ; NONO( ) ; (分数:10.00)_正确答案:(fun (int aM) int i, j, max=a00; for(i=0; i解析: