#include<stdio.h>
#include<math.h>
void main()
{
double x0,x1,n;
scanf("%lf",&n);
x0=n/2;
x1=(x0+n/x0)/2;
do
{
x0=x1;
x1=(x0+n/x0)/2;
}
while(fabs(x1-x0)>=1e-5);
printf("%lf",x1);
getch();
}
为什么迭代公式求平方根用的是do while 不用while语句呢?
如果用do while 会不会在前面已经产生绝对值小于1e-5呢?