c语言函数递归求平方根
时间: 2024-01-11 20:20:01 浏览: 125
c语言练习之开平方根函数
5星 · 资源好评率100%
以下是使用递归函数求平方根的C语言代码示例:
```c
#include <stdio.h>
double squareRoot(double n, double l, double h) {
double m = (l + h) / 2;
double diff = m * m - n;
if (diff < 0) {
diff = -diff;
}
if (diff <= 0.00001) {
return m;
} else if (m * m > n) {
return squareRoot(n, l, m);
} else {
return squareRoot(n, m, h);
}
}
int main() {
double n;
printf("请输入一个数字:");
scanf("%lf", &n);
printf("该数字的平方根为:%lf", squareRoot(n, 0, n));
return 0;
}
```
该程序使用二分法递归地求解平方根,其中l和h分别表示平方根的下限和上限,m为中间值,diff为中间值的平方与n的差值。如果diff小于等于0.00001,则返回中间值m,否则根据中间值的平方与n的大小关系,更新下限或上限,并递归调用函数。
阅读全文