给定程序中,函数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”。
[考点] 函数功能。