同样的式子 为什么用double 不行 用float就可以。。
#include <stdio.h>#include <math.h>
int main(void)
{
float i,n,a;
printf("a=");
scanf("%f",&a);
i=a/2.0;
for(;fabs(n-i)>=1e-5;)
{ n=0.5*(i+a/i);
i=0.5*(n+a/n);
}
printf("root a = %8.5f\n",i);
return 0;
}
该程序运行没有任何问题
然而第五行改成double i,n,a; 就无法显示结果.... 应该不是运算速度变慢的问题吧。 等了很久都没有出来。。
求解