用C++给定一个整数,输出其反转后的数字
时间: 2024-12-04 22:29:29 浏览: 14
在C++中,你可以通过下面的方式来实现将一个整数反转的功能:
```cpp
#include <iostream>
// 函数来反转整数
int reverseInteger(int num) {
int reversed = 0;
while (num != 0) {
int remainder = num % 10; // 取余数得到最后一位
reversed = reversed * 10 + remainder; // 将剩余位加到结果前面
num /= 10; // 移除最右边的位
}
return reversed;
}
int main() {
int inputNum;
std::cout << "请输入一个整数: ";
std::cin >> inputNum;
int reversedNum = reverseInteger(inputNum);
std::cout << "反转后的数字是: " << reversedNum << std::endl;
return 0;
}
```
在这个程序中,我们首先读取用户输入的整数,然后创建一个`reverseInteger`函数,通过循环取出每一位数字并将其添加到`reversed`变量的前面,直到原始数变成0为止。最后,主函数中调用这个函数并将结果输出。
相关问题
给定一个整数将其反转,用c++代码写出此算法
以下是将整数翻转的C++代码:
```c++
#include <iostream>
using namespace std;
int reverse(int x) {
long res = 0; // 使用long类型存储结果,避免溢出
while (x != 0) {
res = res * 10 + x % 10; // 将余数加入结果中
x /= 10; // 将x降一个位
}
if (res > INT_MAX || res < INT_MIN) { // 如果结果超出int类型的范围,返回0
return 0;
}
return res;
}
int main() {
int x = 123;
int y = -123;
cout << reverse(x) << endl; // 输出321
cout << reverse(y) << endl; // 输出-321
return 0;
}
```
使用C++给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零
。示例:
输入:123
输出:321
输入:-123
输出:-321
输入:120
输出:21
解题思路:
我们可以将该整数从低位到高位的每一位数字依次取出,然后反转过来,最后组成一个新的整数。需要注意的是,如果原数为负数,则新数也应该为负数,且需要将原数的符号位去掉再进行反转。
代码实现:
int reverse(int x){
int flag = 1; // 标记正负号
if(x < 0){
flag = -1;
x = -x;
}
long long res = 0; // 新数
while(x){
res = res * 10 + x % 10;
x /= 10;
}
res *= flag; // 恢复符号
if(res > INT_MAX || res < INT_MIN) // 溢出判断
return 0;
return res;
}
阅读全文