1、国家二级( C语言)机试模拟试卷 311及答案与解析 一、程序填空题( 30分) 1 函数 fun的功能是:计算 直到 。若 x=2 5,函数值为: 1 917915。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的RLANKI C中。 不得增行或删行,也不得更改程序的结构 !#include#includedouble fun(double x)double f, t; int n; f=1 0+x;*found* t= 【 1】 ; n=1; do n+;*found* t*=(一 1 0)*x【 2】; f+=t; *found*
2、 while( 【 3】 =le-6); return f; main()double x, y; x=2 5; y=fun(x); printf(“ nThe result is: n“); printf(“x= -12 6f y= -12 6f n“, x, y); 二、程序修改题( 30分) 2 给定程序 MODll C中函数 fun的功能是:用下面的公式求 的近似值,直到最后一项的绝对值小于指定的数 (参数 num)为止: /4=1-1/3+1/5-1/7 例如,程序运行后,输入 0 0001,则程序输出 3 1414。 请改正程序中的错误,使它能输出正确的结果。 注意:不要改动 sm
3、ain函数,不得增行或删行,也不得更改程序的结构 ! #include #include float fun(float num) int s; float n, t , pi; t=1; pi=0; n=1; s=1; *found* while(t=num) pi=pi+t ; n=n+2: s= s; *found* t=s n; pi=pi*4 ; return pi; main() float n1, n2; printf(“Enter a float number: “); Scanf(“ f“, &n1); n2=fun(n1); printf(“ 6 4f n“, n2); 三
4、、程序设计题( 40分) 3 程序定义了 NN的二维数组,并在主函数中自动赋值。请编写函数 fun,函数的功能是:使数组右上三角元素中的值乘以 m。 例如;若 m的值为 2, a数组中的值为: 则返回主程序后 a数组中的值应为: 注意:部分源程序存在文件 PROGl C文件中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 #iticlude#include#define N 5void fun(int aN, int m)main() int aNIN, m, i, j; void NONO(); printf(“*The array* n
5、“), for(i=0; i=3); printf(”m= 4d n”, m); fun(a, m); printf(”THE RESULT n”); for(i=0; i 国家二级( C语言)机试模拟试卷 311答案与解析 一、程序填空题( 30分) 1 【正确答案】 (1)x (2)n (3)fabs(t) 【试题解析】 第一空: “f=1 0+x; “f的初始化为级数的前两项之和, do while循环从第三项 x2 2开始计算,第一空处是给 t赋初值, t表示级数项, “n+; t*=(-1 0)*x 【 2】 ; “即第一次进入 do循环之后 n的值为 2,故 t的初值应该为 x,第
6、一空处应为 “x“。 第二空:由审题分析可知,后一项 乘以 (-1)*x除以 n,故第二空处应为 “n“。 第三空:循环的终止条件是 (xn n!)的绝对值小于 le-6,即只要 (xn n!)大于等于 le-6, do循环就执行,故第三处应为 “labs(t)“, fabs函数的功能是求绝对值。 二、程序修改题( 30分) 2 【正确答案】 (1)while(fabs(t)=num) (2)t=s n; 【试题解析】 (1)题干中要求进行循环的条件是绝对值小于某范围,可以调用 C语言提供的取绝对值函数 fabs对 t取绝对值。所以将 “while(t=num)“改 为“while(fabs(t)=num)“。 (2)表达式 s n中, n是浮点型,而运算符只能用于整数运算,且要进行的是除法运算而不是求余运算。所以,第二个标识下 “t=s n; “应该改为 “t=s n; “。 三、程序设计题( 40分) 3 【正确答案】 int i, j ; for(i=0; iN; i+) for(J=i; jN; J+) aij*=m; 【试题解析】 (1)右上半角的元素是行下标小于等于列下标,即 “i=j“包括对角线。 (2)依次访问二维 数组,把符合条件的元素的值乘以 m。