有迭代法求某正整数a平方根x1,一指求平方根的迭代公式为:x0=a/2; x1=(x0+a/x0)/2;

有迭代法求某正整数a平方根x1,一指求平方根的迭代公式为:x0=a/2; x1=(x0+a/x0)/2;
#include "math.h"
main()
{
float a;
double x0,x1;
scanf("%f",&a);
if (a1e-5);
}
printf("%lf",x1);
getch();
}
这个程序是怎么执行的;
循环中x0=x1; x1=(x0+a/x0)/2;这样不就x0=x1了吗?
do 里面是怎么循环的?
wmc1994 1年前 已收到1个回答 举报

mandy飘雪 幼苗

共回答了18个问题采纳率:88.9% 举报

x0=x1是用x0暂存x1在第n-1次迭代时的值,用于后面计算第n次迭代与n-1此迭代的差值,如果差值满足fabs(x0-x1)>1e-5,迭代结束.即,求出x1的近似值!

1年前

6
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 1.047 s. - webmaster@yulucn.com