1、国家二级 C语言机试(操作题)模拟试卷 83及答案与解析 一、程序填空题 1 函数 fun的功能是:计算 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1 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*/ while ( _3_ =1e一 6);
2、 return f; main()doub2e x, y; x=2 5; y=fun(x); printf(“nThe result is: n“); printf(“x=一 12 6f y=一 12 6fn“, x, y); 二、程序修改题 2 给定程序 MODI1 C中函数 fun的功能是:求整数 x的 y次方的低 3位值。例如,整数 5的 6次方为 15625,此值的低 3位值为 625。 请改正函数 fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! #include long fun(int x, int y, long*p) int i; long t=1; /*found*/ for(i=1; i=0 000001) /*绝对值是否满足条件 */ xn=xn*x*(0 5一 n+1)/n; /*表达式分解 以后 xn=(xn一 1)*x*(0 5一 n+1)/n*/ n+=1; sn+=xn; /*sn累加上 xn*/ return(sn); 【试题解析】 (1)根据题干中给出的数列,推出每一项分子是在前一项分子的基础上乘以 (0 5 n+1)*x,分母则为阶乘,也就是在前一项分母的基础上乘以 n。 (2)在循环中求得每一项,然后对其进行累加求和。