下列给定程序中,函数fun的功能是:计算如下公式前n项的和,并作为函数值返回。
例如,当形参n的值为10时,函数返回值为9.612558。
请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdio.h>
double fun(int n)
{ int i; double s, t;
/********** found**********/
s=______;
/********** found**********/
for(i=1; i<=______; i++)
{ t=2.0* i;
/********** found**********/
s=s+(2.0* i-1)*(2.0*i+1)/______;
}
return s;
}
void main()
{ int n=-1;
while(n<0)
{ printf("Please input(n>0): ");
scanf("%d", &n); }
printf("\nThe result is: %f\n", fun(n));
}
参考答案:
(1)0 (2)n (3)(t*t)
解析:
[考点] 本题考查:变量初始化操作,需注意该变量是用做累加器还是累乘器;for循环语句。 填空1:程序开始定义了变量s,但没有对其进行初始化,根据公式及后面的程序可知变量s用来存放公式的前n项和,因此该变量廊初始化为0。 填空2:通过for循环语句将表达式各项进行累加,结果存于变量s中,循环变量i的取值范围为1~n。 填空3:根据题目要求确定表达式通项。前而已定义t=2.0*i,因此此空应填(t*t)。 程序要求计算表达式的值时,一般都设定一个变量s并赋初值。如果s用来存放表达式的和,则赋初值为0;如果s用来存放表达式的积,则赋初值为1。