double i, t=1.0, m=1.0, s=0;
for (i=1; fabs(m/t)>=0.000001; i++)
{ s=s+m/t;
m*=(0.5+1-i)*x;
t*=i;
}
return s;
s的初值应该是0
double fun(double x)
{
{double i, t=1.0, m=1.0, s=1;
for (i=1; fabs(m/t)>=0.000001; i++)
{ s=s+m/t;
m*=(0.5+1-i)*x;
t*=i;
}
return s;
}
这个就没问题,但注意的是s的初始值是1,不是0.