在C语言中,计算x的n次方可以通过多种方法实现,包括使用循环、递归或标准库函数。以下是几种常见的方法:
使用循环
```c
include
double power(double x, int n) {
double result = 1.0;
for (int i = 1; i <= n; i++) {
result *= x;
}
return result;
}
int main() {
double x;
int n;
printf("请输入底数x: ");
scanf("%lf", &x);
printf("请输入指数n: ");
scanf("%d", &n);
double result = power(x, n);
printf("%lf的%d次方是%.2lf\n", x, n, result);
return 0;
}
```
使用递归
```c
include
double power(double x, int n) {
if (n == 0) {
return 1.0;
} else if (n > 0) {
return x * power(x, n - 1);
} else {
return 1.0 / (x * power(x, -n - 1));
}
}
int main() {
double x;
int n;
printf("请输入底数x: ");
scanf("%lf", &x);
printf("请输入指数n: ");
scanf("%d", &n);
double result = power(x, n);
printf("%lf的%d次方是%.2lf\n", x, n, result);
return 0;
}
```
使用标准库函数`pow()`
```c
include include int main() { double x; int n; printf("请输入底数x: "); scanf("%lf", &x); printf("请输入指数n: "); scanf("%d", &n); double result = pow(x, n); printf("%lf的%d次方是%.2lf\n", x, n, result); return 0; } ``` 建议 循环方法:适用于大多数情况,简单直观,易于理解和实现。 递归方法:适用于需要简洁代码的情况,但需要注意递归深度和性能问题。 标准库函数`pow()`:适用于需要高精度计算的情况,但需要注意输入参数的类型和范围。 根据具体需求和场景选择合适的方法进行实现。