问题 填空题

给定程序中,函数fun()的功能是计算下式

直到

,并把计算结果作为函数值返回。

例如,若形参e的值为1e-3,函数的返回值为2.985678。

#include<stdio.h>

double fun(double e)

int i;double s,x;

/**********found**********/

s=0;i= (1) ;

x=1.0;

while(x>e)

/**********found**********/

(2) ;

/**********found**********/

x=(2.0*i-1)/( (3) *(2.0*i));

s=s+x;

return s;

main()

double e=1e-3;

printf("\nThe result is:%f\n",fun(e));

答案

参考答案:(1)0 (2)i++ (3)2.0*i

解析:

函数fun()的功能是求级数和。由观察可知,级数项有规律变化,可以用循环来累加求和。

第一空:由“return s;”可知s是返回值,s的初始化值为0,故循环累加是从第一项开始累加的。在循环体“ (2) ;x=(2.0*i-1)/( (3) *(2.0*i));s=s+x;”中,变量i没有递增,故第二空处应为“i++”。当X是级数的第一项时,i=1(i++之后变成1),故i的初始化值为0,因此第一空处应为“0”。

第二空:由上面的分析可知,第二空处应为“i++”。

第三空:“x=(2.0*i-1)/( (3) )*(2.0*i));”是求级数项的值,根据题干给出的级数项特征可知,级数项的分母是(2.0*i)的平方,故第三空处应为“2.0*i”。

[考点] 函数功能。

单项选择题
单项选择题