#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呢?