1、国家二级 C语言机试(操作题)模拟试卷 508及答案与解析 一、程序填空题 1 函数 fun的功能是:计算 直到 -6。若 x=2 5,函数值为: 1 917915。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1 C中。 不得增行或删行,也不得更改程序的结构 !#include #include double 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
2、】 ;f += t;/*found*/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.6fn“, x, y) ; 二、程序修改题 2 给定程序 MODI1 C中函数 fun的功能是:求整数 x的 y次方的低 3位值。例如,整数 5的 6次方为 15625,此值的低 3位值为 625。 请改正函数 fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的
3、结构 ! #include long fun(int x,int y,long *p) int i; long t=l; /*found*/ for(i=l; 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)在循环中求得每一项,然后对其进行累加求和。