编写一个程序,根据用户输入的数字计算对应的幂次方。如果输入的数字是整数,则计算其平方;如果输入的数字是小数,则计算其立方。用c++的printf表达
时间: 2024-10-16 14:17:09 浏览: 34
下面是一个简单的C++程序,它会根据用户的输入计算相应的幂次方:
```cpp
#include <iostream>
using namespace std;
double calculatePower(double num, int power) {
if (power == 0) {
// 幂次为0时,任何数的0次方都是1
return 1;
} else if (power % 2 == 0) {
// 如果指数是偶数,我们先计算一半的幂,然后平方
double halfPower = calculatePower(num, power / 2);
return halfPower * halfPower;
} else {
// 如果指数是奇数,我们先计算一半的幂,然后乘以底数
double halfPower = calculatePower(num, (power - 1) / 2);
return num * halfPower * halfPower;
}
}
int main() {
double inputNumber;
cout << "请输入一个数字:";
cin >> inputNumber;
int power;
cout << "请输入想要的幂次(如果是2则计算平方,如果是3则计算立方):";
cin >> power;
double result;
if (cin.fail()) { // 检查是否输入的是有效整数
cout << "输入无效,请输入一个数字或2或3。\n";
} else {
switch (power) {
case 2: // 平方
result = calculatePower(inputNumber, 2);
break;
case 3: // 立方
result = calculatePower(inputNumber, 3);
break;
default:
cout << "错误,仅支持2或3作为幂次。\n";
break;
}
printf("结果是:%.2f\n", result); // 打印结果,保留两位小数
}
return 0;
}
```
当你运行这个程序,它会提示用户输入一个数字和一个幂次,然后计算并打印出结果。
阅读全文