问题描述
用迭代法求平方根
求a的平方根的迭代公式为: X[n+1]=(X[n]+a/X[n])/2
要求前后两次求出的差的绝对值少于0.00001,输出保留3位小数
分析:
关于迭代公式,推荐两篇博客:
解决方案:
#include<stdio.h>
#include<math.h>
int main()
{
double a,x0,x1;
scanf("%lf",&a);
x0=a/2;
while(fabs(x0-x1)>=0.00001) //fabs() 返回绝对值
{
x1=x0;
x0=(x1+a/x1)/2;
}
printf("%.3lf\n",x0);
return 0;
}