主要是由于浮点型数在计算机中存储的原因,浮点数比较相等不能用==,而要这样。
#include<stdio.h> #include<math.h> int main() { double a,x; scanf("%lf",&a); x=1; while(fabs(1.0/2*(x+a/x)-x)>=0.00001) { x=1.0/2*(x+a/x); } x=1.0/2*(x+a/x); printf("%.3lf",x); }
本文分享自 作者个人站点/博客 前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!