如何用C++编写程序实现,让用户输入一个三位整数,然后按隔位逆序的方式输出这个数?
时间: 2024-12-16 09:18:13 浏览: 4
从键盘输入一个三位整数,逆序输出。如输入123,输出321。
在C++中,你可以通过使用`cin`读取用户的输入,然后使用数组或者字符串切片的方式来实现隔位逆序输出。以下是详细的步骤和代码示例:
```cpp
#include <iostream>
// 定义函数来隔位反转输入的整数
std::string reverseEveryOther(int num) {
std::stringstream ss; // 使用stringstream来处理字符串形式的数字
ss << num;
std::string digits = ss.str();
// 切割字符串为单个数字并创建新字符串用于存储反转后的部分
std::string reversedPart(digits.size() % 2 ? digits.substr(1, digits.size() / 2) : digits.substr(0, digits.size() / 2));
reversedPart += digits.substr(0, 1); // 加上首位
// 隔位反转字符串
std::reverse(reversedPart.begin(), reversedPart.end());
// 返回反转后的部分
return reversedPart;
}
int main() {
int input;
std::cout << "请输入一个三位整数:";
std::cin >> input;
// 检查输入是否为三位数
if (input < 100 || input > 999) {
std::cerr << "输入错误,只能输入三位数!" << std::endl;
return 1;
}
// 输出隔位反转后的数字
std::cout << "隔位逆序输出结果:";
std::cout << reverseEveryOther(input) << std::endl;
return 0;
}
```
在这个程序中,我们首先读取用户输入的整数,检查它是否为三位数。然后我们把数字转换为字符串,根据位数对半切分,反转其中一半的部分,再与第一位合并。最后输出反转后的结果。
阅读全文