问题 问答题

下列给定程序中,函数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。

填空题
名词解释