c++实现百位数倒置
时间: 2024-09-19 15:02:16 浏览: 46
迷宫问题的C++算法实现
在C++中,要实现百位数倒置,你可以编写一个函数来接收一个整数作为输入,然后通过位操作将百位(千位的十进制表示)与其他位分开并交换位置。这里是一个简单的示例:
```cpp
#include <iostream>
#include <bitset>
// 函数来获取一个整数的百位
int getHundredDigit(int num) {
std::bitset<4> bits(num);
// 利用bitset的左移和右移操作
return static_cast<int>(bits.test(0)) * pow(10, 2) + (bits.test(1) ? 10 : 0);
}
// 函数来反转百位
int reverseHundred(int num) {
int hundred = getHundredDigit(num); // 获取百位
int remainder = num % 100; // 保留其他位
return (hundred % 10) * 100 + hundred / 10 + remainder;
}
// 示例
int main() {
int num = 123456;
std::cout << "Original number: " << num << "\n";
std::cout << "Number with reversed hundreds: " << reverseHundred(num) << "\n";
return 0;
}
```
这个程序首先提取出百位,并将其与其余位分离。然后它将百位的个位和十位分开,再把它们重新组合回去。注意,这个方法假设输入的是非负整数。
阅读全文