简单实现x的n次方pta
时间: 2023-09-11 17:11:36 浏览: 140
计算x的n次方
可以使用循环或递归来实现求x的n次方的功能。
循环实现:
```c
#include <stdio.h>
double power(double x, int n) {
double res = 1.0;
for (int i = 0; i < n; i++)
res *= x;
return res;
}
int main() {
double x;
int n;
printf("请输入底数x和指数n:");
scanf("%lf%d", &x, &n);
printf("x的n次方为:%lf", power(x, n));
return 0;
}
```
递归实现:
```c
#include <stdio.h>
double power(double x, int n) {
if (n == 0) return 1.0;
if (n < 0) return 1.0 / power(x, -n);
double t = power(x, n / 2);
if (n % 2 == 0) return t * t;
return t * t * x;
}
int main() {
double x;
int n;
printf("请输入底数x和指数n:");
scanf("%lf%d", &x, &n);
printf("x的n次方为:%lf", power(x, n));
return 0;
}
```
以上两种方法都可以实现x的n次方,但是递归的方法可能会出现栈溢出的问题。
阅读全文