迭代法求平方根 已知求平方根的迭代公式为:x n+1 = (xn + a / xn) / 2 要求前后两次求出的差的绝对值小于10-5。
/*
用迭代法求平方根算法如下:
1.设定一个x的初值x0;
2.用以上公式求出x的下一个值x1;
3.再将x1带入以上公式右侧的xn,求出x的下一个值x2;
4. 如此继续下去,直到前后两次求出的x 的值(xn和xn+1)满足以下关系:|xn+1-xn|<1e-5
*/
#include <stdio.h>
#include <math.h>
int main()
{
double x0,x1,a;
printf("please enter a number\n");
scanf("%lf",&a);
x0=a; //x0初值随便设置 最终结果都一样
x1=(x0+a/x0)*(1.0/2.0);
while(fabs(x0-x1)>=1e-5)
{
x0=x1;
x1=(x0+a/x0)*(1.0/2.0);
}
printf("此时x1=%f",x1);
return 0;
}