C++输入一个三位数,分离出它的百位、十位和个位,反转后输出。
时间: 2024-10-08 19:11:36 浏览: 118
在C++中,你可以通过以下步骤来实现这个功能:
1. 首先,提示用户输入一个三位数,可以使用`cin`从标准输入获取整数。
```cpp
int num;
cout << "请输入一个三位数:";
cin >> num;
```
2. 然后,你可以通过按位操作将百位、十位和个位分开。对于一个三位数,最高位是百位,最低位是个位,中间的是十位。可以使用 `num % 10` 获取个位,`(num / 10) % 10` 获取十位,`num / 100` 获取百位。
```cpp
int unit = num % 10; // 个位
int ten = (num / 10) % 10; // 十位
int hundred = num / 100; // 百位
```
3. 接下来,反转这三个数字,并组成新的三位数。首先计算反转后的个位,然后是十位,最后是百位。
```cpp
int reversedUnit = unit;
int reversedTen = ten;
if (hundred != 0) {
reversedTen *= 10; // 因为反转后需要把十位放在个位前面
}
reversedTen += reversedUnit;
unit = reversedUnit * 100 + hundred;
```
4. 最后,输出反转后的三位数。
```cpp
cout << "反转后的三位数:" << unit << endl;
```
完整代码示例:
```cpp
#include <iostream>
int main() {
int num;
cout << "请输入一个三位数:";
cin >> num;
int unit = num % 10; // 个位
int ten = (num / 10) % 10; // 十位
int hundred = num / 100; // 百位
int reversedUnit = unit;
if (hundred != 0) {
reversedTen *= 10;
}
reversedTen += reversedUnit;
unit = reversedUnit * 100 + hundred;
cout << "反转后的三位数:" << unit << endl;
return 0;
}
```