【正确答案】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;
} [考点] 本题考查:迭代法求给定多项式的值。迭代算法是让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。需要注意变量的数据类型以及赋初值操作。
首先应该定义double类型变量,并且赋初值,用来存放多项式的某一项和最后的总和。从第二项开始以后的每一项都是其前面一项乘以n/(2*n+1),程序中用s1来表示每一项,s表示求和后的结果。需注意s1和s的的初值都为1.0,因为循环变量从第二项开始累加。
【答案解析】