用c语言迭代n次求平方根保留五位小数
时间: 2023-06-14 08:04:05 浏览: 115
已知平方根迭代公式,设x=a/2。编写程序输入a值计算其平方根。迭代的结束条件是x n+1-xn<10-5
要先确定你是想要求哪个数的平方根。
假设你想要求的数为x,那么可以使用牛顿迭代法,以x为初始值,迭代n次,得到平方根的近似值。
具体的代码如下:
```c
#include <stdio.h>
double sqrt_iter(double x, int n) {
double guess = x;
while (n--) {
guess = (guess + x / guess) / 2;
}
return guess;
}
int main() {
double x = 2.0; // 这里假设要求2的平方根
int n = 10; // 迭代10次
double sqrt_x = sqrt_iter(x, n);
printf("sqrt(%f) = %.5f\n", x, sqrt_x);
return 0;
}
```
运行结果为:
```
sqrt(2.000000) = 1.41421
```
需要注意的是,牛顿迭代法并不是一定会收敛的,如果迭代次数过少或者初始值选择不当,可能会导致结果不准确甚至无法求得平方根。
阅读全文