迭代法求平方根,c语言
时间: 2024-11-06 13:12:32 浏览: 59
迭代法求平方根.zip
在C语言中,可以使用迭代法(也称为牛顿迭代法)来求一个正实数的平方根。这里是一个简单的例子,它展示了如何通过不断逼近的方式计算平方根直到满足预设精度:
```c
#include <stdio.h>
#include <math.h> // 引入math库,使用fabs函数计算绝对值
double sqrt_iterative(double num, double guess, double epsilon) {
while (fabs(guess * guess - num) > epsilon) { // 当估计值乘以其自身与实际平方相差过大时
guess = (guess + num / guess) / 2; // 更新估计值
}
return guess;
}
int main() {
double a, result;
printf("请输入一个正实数a:");
scanf("%lf", &a);
if (a <= 0) {
printf("输入错误,只能求非负数的平方根。\n");
return 1;
}
double epsilon = 1e-6; // 设置精度,例如六位小数
result = sqrt_iterative(a, a / 2, epsilon); // 首次猜测通常取数值的一半
printf("√%lf ≈ %lf\n", a, result);
return 0;
}
阅读全文