C语言使用递归的方式来计算 x 的 n 次方
时间: 2024-04-16 16:27:13 浏览: 110
计算2的n次方,计算斐波那契数列第n项,计算n的阶乘。
下面是一个使用递归的方式在 C 语言中计算 x 的 n 次方的示例:
```c
#include <stdio.h>
double power(double x, int n) {
if (n == 0) {
return 1;
} else if (n < 0) {
return 1 / power(x, -n);
} else if (n % 2 == 0) {
double half = power(x, n / 2);
return half * half;
} else {
double half = power(x, (n - 1) / 2);
return x * half * half;
}
}
int main() {
double x = 2.0;
int n = 5;
double result = power(x, n);
printf("%.2f raised to the power of %d is %.2f\n", x, n, result);
return 0;
}
```
这个程序中的 `power` 函数使用递归的方式来计算 x 的 n 次方。当 n 为 0 时,返回结果为 1。当 n 为负数时,返回结果为 x 的 -n 次方的倒数。当 n 为偶数时,先计算 x 的 n/2 次方,然后将结果平方。当 n 为奇数时,先计算 x 的 (n-1)/2 次方,然后将结果平方后再与 x 相乘。
在 `main` 函数中,我们定义了一个示例输入 x 和 n,并调用 `power` 函数来计算结果。最后,我们使用 `printf` 函数将结果输出到控制台。
你可以根据需要修改 `main` 函数中的 x 和 n 的值来计算不同的 x 的 n 次方。
阅读全文