迭代法求平方根为什么不对
如下:#include<stdio.h>
#include<math.h>
void main()
{
double x0,x1,n;
scanf("%f",&n);
x0=n/2;
x1=(x0+n/x0)/2;
do
{
x0=x1;
x1=(x0+n/x0)/2;
}
while(fabs(x1-x0)>=1e-5);
printf("%f",x1);
getch();
}
我用WINTC编译,输入2,输出0.000008.
把double改为float就对了。为什么double不行。