首先设定一个和平方根差不太远的初始值,姑且设置成a/2
再根据循环套公式,使结果由原来的初始值慢慢逼近误差较小的精确值,即为迭代法求平方根。
#include<stdio.h>
#include<math.h>
int main()
{
double a,x0,x1;
scanf("%lf",&a);
x0=a/2.0;//随便设置一个x0初始值,再慢慢通过公式递归迭代出误差较小的结果
x1=(x0+(a/x0))/2;
while(fabs(x1-x0)>=(1E-5))//fabs是绝对值函数,返回括号里的绝对值 1E-5=1*10的-5次方
{
x0=x1;
x1=(x0+(a/x0))/2;
}
printf("%.5lf",x1);
return 0;
}