sum=sum*i/(2*i+1)和sum*=i/(2*i+1)的区别
#include
#include
#include
doublefun(doubleeps)
{
doublet=1.0,sum=1.0;
inti=1;
while(sum>=eps)/*当某项大于精度
要求时,继续求下一项*/
{sum=sum*i/(2*i+1);/*求多
项式的每一项*/
t=t+sum;/*累加求和*/
i++;
}
return2*t;
}
voidmain()
{
doublex;
printf("Inputeps:");
scanf("%lf",&x);
printf("neps=%lf,PI=%lfn",
x,fun(x));
}
#include
#include
#include
doublefun(doubleeps)
{inti=1;
doublet=1.0,sum=0;
while(t>=eps)
{
sum+=t;
t*=i/(2*i+1);
++i;
}
return2*sum;
}
voidmain()
{
doublex;
printf("Inputeps:");
scanf("%lf",&x);
printf("neps=%lf,PI=%lfn",
x,fun(x));
}为什么结果不一样?
邮箱: 联系方式: