#include<stdio.h>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=(2i+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。有帮助的话采纳一下哦!
报告相同问题?