B032 迭代计算公式 ★

01-程序填空题 软件121, 唐鼎威 884浏览

所属年份:2010.9;2012.3

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

NCRE2-C-B032

直到最后一项的值小于形参 e ,并将计算结果作为函数值返回。

例如,若形参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;
}

int main()
{
    double  e=1e-3;
    printf("\nThe result is: %f\n",fun(e));
    return 0;
}

【参考答案】

(1) 0  (2) i++或++i或i+=1或i=i+1  (3)2.0*i

【考点分析】
本题考查:变量赋初值;while循环语句;表达式通项的表示方法。

【解题思路】
填空1:循环变量1从开始参加运算,但是在每次循环的开始i都进行自加1操作,故i应赋初值为0。
填空2:循环变量i自增1运算。
填空3:根据公式确定表达式通项。注意x为double类型,故应将i变为double类型再进行运算。