0.00001 pow(10,-5) 1e-5
/
#include <stdio.h>
#include <math.h>
void main()
{double a,x1,x2;
printf("输入a的值:");
scanf("%lf",&a);
x1=a/2;
x2=(x1+a/x1)/2;
for( ;fabs(x2-x1)>=0.00001; )
{
x1=x2;
x2=(x1+a/x1)/2;
}
printf("输出a的平方根%f\n",x2);
}
//
#include<stdio.h>
#include<math.h>
void main()
{double x2,x1,a;
printf("请输入a=");
scanf("%lf",&a);
x1=a/2;
x2=(x1+a/x1)/2;
do
{
x1=x2;
x2=(x1+a/x1)/2;
}while(fabs(x2-x1)>=1e-5);
printf("a的平方根为:%lf\n",x2);
}
/
#include <stdio.h>
#include <math.h>
void main()
{double a,x1,x2;
printf("输入a的值μ:");
scanf("%lf",&a);
x1=a/2;
x2=(x1+a/x1)/2;
while(fabs(x2-x1)>=pow(10,-5))
{
x1=x2;
x2=(x1+a/x1)/2;
}
printf("输出a的平方根%lf\n",x2);
}
do while 和while do 区别,只在第一次条件若不满足时才有区别
以上的程序应该都加一个if(a>0)的判断