为什么while( x>e)

#include
int main()
{
int i,k;
double s,t,x,e=1e-3;
s=0; k=1;i=2;
x=3.0/4;
while( x>e)
{
s=s+kx;
k=k
(-1) ;
t=2i ;
x=(2
i+1)/(t*t) ;
i++;
}
printf("\nThe result is:%lf\n",s);
return 0;
}

判断浮点数与0的大小关系时,一般不直接让浮点数与“0”比较。

因为浮点数在计算机中存储时存在误差,如0本身可能会被存为0.9999976(随便编的一个数据,可能不太准确,理解意思就可以了,就像你,在用计算机算1/3*3的时候,最终结果可能是0.999999一样),故浮点数直接与0比较大小时,有可能存在误差。基于此点,我们一般让浮点数与一个很接近于0的数来做比较,如1e-6。
有帮助的话采纳一下哦!