c语言使用递归方法,求x的n次方。其中n为整数,x不等于0
时间: 2025-02-17 10:25:47 浏览: 38
在C语言中,我们可以使用递归函数的方式来计算任意非零实数x的n次方。递归是一种解决问题的技术,通过将问题分解成更小的相同子问题来达到目的。下面是计算x^n的一个基本递归算法:
```c
#include <stdio.h>
double power(double x, int n) {
// 基本情况:当n为0时,任何数的0次幂都是1
if (n == 0)
return 1;
else if (n > 0) { // 如果n正,计算x^(n-1)然后乘以x
return x * power(x, n - 1);
} else { // 当n为负时,需要先取倒数,再计算(-n)次方
return 1 / power(x, -n); // 由于除以0在数学上没意义,这里需要检查x是否为0
}
}
int main() {
double x;
int n;
printf("请输入一个非零数字x:");
scanf("%lf", &x);
printf("请输入一个整数n:");
scanf("%d", &n);
if (x != 0) {
double result = power(x, n);
printf("x的%d次方的结果是:%lf\n", n, result);
} else {
printf("错误:x不能为0。\n");
}
return 0;
}
```
阅读全文
相关推荐


















