迭代法求立方根 精度为0.000001 保留五位小数
时间: 2024-09-29 09:12:07 浏览: 49
迭代法求立方根时,如果需要保证精确到0.000001,并且只保留五位小数,那么我们可以在满足精度条件后停止迭代,并对结果进行四舍五入。在C语言中,你可以修改上面的代码,添加四舍五入并设置适当的循环终止条件:
```c
#include <stdio.h>
#include <math.h>
#include <stdlib.h> // 引入stdlib.h库以使用round函数
// 定义一个辅助函数用于四舍五入
double round_to_5_decimal_places(double num) {
return round(num * pow(10, 5)) / pow(10, 5);
}
double sqrt_cubic_iterative(double num, double target_precision) {
double x = num;
while (fabs(x * x * x - num) > target_precision) { // 持续迭代直到误差小于目标精度
x = (x + num / x * x) / 2.0;
}
return round_to_5_decimal_places(x);
}
int main() {
double input_num;
printf("请输入一个正数:");
scanf("%lf", &input_num);
double root = sqrt_cubic_iterative(input_num, 0.000001);
printf("输入数 %lf 的立方根约为 %.5f\n", input_num, root);
return 0;
}
```
阅读全文