以下是用C语言编写的迭代法求平方根的程序:

#include <stdio.h>
#include <math.h>

double squareRoot(double a) {
    double x0 = a; // 初始猜测值
    double x1 = (x0 + a / x0) / 2; // 迭代公式求得的结果
    double diff = fabs(x1 - x0); // 两次结果的差的绝对值
    
    while (diff >= 0.00001) {
        x0 = x1;
        x1 = (x0 + a / x0) / 2;
        diff = fabs(x1 - x0);
    }
    
    return x1;
}

int main() {
    double a;
    printf("请输入一个数:");
    scanf("%lf", &a);
    
    double result = squareRoot(a);
    printf("平方根为:%.3lf\n", result);
    
    return 0;
}

在程序中,squareRoot函数使用了迭代公式进行求解,并在while循环中判断前后两次结果的差的绝对值是否大于等于0.00001。如果是,则更新结果并继续迭代,直到满足要求。最后,将结果保留3位小数并输出。

使用该程序可以输入一个数,然后求出它的平方根,并保留3位小数进行输出

C语言用迭代法求 平方根公式:求a的平方根的迭代公式为: Xn+1=Xn+aXn2 要求前后两次求出的差的绝对值少于000001。 输出保留3位小数

原文地址: https://www.cveoy.top/t/topic/ihS5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录