迭代法求平方根 已知求平方根的迭代公式为: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 ");
    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;
 }

原文地址:https://www.cnblogs.com/LiQingXin/p/12880595.html