C语言用迭代法求 平方根公式:求a的平方根的迭代公式为: Xn+1=Xn+aXn2 要求前后两次求出的差的绝对值少于000001。 输出保留3位小数
以下是用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位小数进行输出
原文地址: https://www.cveoy.top/t/topic/ihS5 著作权归作者所有。请勿转载和采集!