用C++输入两个整数 x 和 n ,计算 x 的 n 次幂并输出,如果 n 为 0 则输出 1
时间: 2023-05-12 22:03:23 浏览: 114
好的,以下是代码:
```c
#include <stdio.h>
int main() {
int x, n, result = 1;
printf("请输入两个整数 x 和 n:");
scanf("%d %d", &x, &n);
if (n == 0) {
printf("%d 的 %d 次幂为 1\n", x, n);
} else {
for (int i = 0; i < n; i++) {
result *= x;
}
printf("%d 的 %d 次幂为 %d\n", x, n, result);
}
return 0;
}
```
希望能对你有所帮助!
相关问题
c++编写 “计算x的n次方” 函数,要求改变第一个输入值为计算结果。 希望输出25
在C++中,你可以编写一个递归函数来计算任意数字的幂。这里是一个简单的示例,它会接受两个整数作为输入:底数`x`和指数`n`,然后返回`x`的`n`次方。如果你想让输入值`n`直接指向结果存储的地方,并输出25,你需要稍微修改一下。假设我们有一个全局变量`result`用于存储计算结果,下面是相应的代码:
```cpp
#include <iostream>
// 计算x的n次方并保存结果到result中
void power(int x, int n) {
if (n == 0)
result = 1; // 如果n为0,结果是1
else if (n % 2 == 0) // 如果n偶数,可以简化计算
power(x * x, n / 2);
else
power(x, n - 1) * x; // 否则递归计算n-1次,然后乘以x
// 输出已计算的结果,这里假设result已经设置为25
std::cout << "结果是: " << result << std::endl;
}
int main() {
int n = 4; // 可以通过用户输入或者其他方式设定这个值
power(5, n); // 调用函数计算5的n次方并将结果存入result
return 0;
}
```
请注意,如果`result`还没有被初始化,上述代码可能会出现问题,因为它默认值是未定义的。在实际应用中,你应该先检查或初始化`result`。
设计一个递归函数,求x的n次幂,其中n为非须整数。在main函数中输入x和一个整数n,输出x的n次幂。
可以通过以下递归函数实现:
```c++
double power(double x, int n) {
if (n == 0) {
return 1.0;
}
double half = power(x, n/2);
if (n % 2 == 0) {
return half * half;
} else if (n > 0) {
return half * half * x;
} else {
return half * half / x;
}
}
```
这个函数将n分为n/2和n-n/2两部分,然后递归计算x的n/2次幂。如果n是偶数,则将结果平方即可;否则,需要再乘上一个x。如果n是负数,则需要将x取倒数。
在main函数中,可以像下面这样使用该函数:
```c++
#include <iostream>
using namespace std;
int main() {
double x;
int n;
cout << "请输入x和n: ";
cin >> x >> n;
cout << x << "的" << n << "次幂是: " << power(x, n) << endl;
return 0;
}
```
阅读全文