问答题 编写函数fun(),其功能是:根据以下公式求的值(要求精度0.0005,即某项小于0.0005时停止迭代)。
【正确答案】
【答案解析】double fun(double eps)
{
double s=1.0, s1=1.0;
Int n=1;
while(s1>=eps) //当某项大于精度要求时,继续求下一项
{s1=s1*n/(2*n+1); //求多项式的每一项
s=s+s1; //累加求和
n++;
}
return 2*s;
} [解析] 此题考查的是用迭代法求多项式的值。通过观察题目中给出的数学公式可知,后面一项是前面一项乘以n/(2*n+1),发现这个规律后,问题迎刃而解。通过定义double类型变量,并且赋初值,用来存放多项式的总和。此题中需要注意的是,表示每一项的s1和表示多项式之和的s,两者的初值都是1.0。