改进平方根法求解C语言代码
时间: 2024-06-30 19:00:34 浏览: 104
改进平方根法,也称为牛顿-拉弗森方法(Newton-Raphson method),是一种数值方法,用于近似求解方程中的平方根。在C语言中实现该方法,通常用来提高计算平方根的精度,尤其是在处理大数或需要高精度结果的情况下。
以下是一个简单的C语言代码示例,演示如何使用迭代的方式来逼近平方根:
```c
#include <stdio.h>
#include <math.h>
// 使用牛顿-拉弗森迭代公式计算平方根
double sqrt_newton_raphson(double num, double epsilon) {
if (num < 0) {
printf("Error: Square root is undefined for negative numbers.\n");
return -1;
}
double guess = num / 2.0; // 初始猜测值
while (fabs(guess * guess - num) > epsilon) { // 当误差小于指定阈值时停止
guess = (guess + num / guess) / 2.0; // 迭代公式
}
return guess;
}
int main() {
double number;
printf("Enter a positive number: ");
scanf("%lf", &number);
double result = sqrt_newton_raphson(number, 1e-6); // 设置一个小的精度值
if (result != -1)
printf("Square root of %.2lf is approximately %.2lf\n", number, result);
else
printf("Error occurred.\n");
return 0;
}
```
阅读全文