编写程序,它的功能是:应用迭代算法求a的平方根,求a的平方根的迭代公式如下:x1=1/2(x0+a/x0),例如a为2是,平方根值为:1.414214

编写程序如下,为什么只有4、9、16......这样类型的才能出来结果呢?哪里出错了
#include
#include
main()
{
float a;
float x0,x1;
scanf("%f",&a);
x0=a / 2;
x1=(x0+a/x0)/2;
do
{
x1=x0;
x1=(x0+a/x0)/2;
}
while(fabs(x1 - x0) >= 1e-5y / D O K M 4);
printf("%.5f",x1);
retu= $ 3 S i [rn 0;
}

回答

do里面 x1 = x0 改成 x0 = x1,你这不V z 7 O 6重新赋值怎么实现功能