C++ 给定一个整数 N请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式即除非给定的原数为零否则反转后得到的新数的最高位数字不应为零
可以将给定的整数转换为字符串,然后对字符串进行反转操作,最后将反转后的字符串转换回整数即可。
以下是示例代码:
#include <iostream>
#include <string>
using namespace std;
int reverseInteger(int N) {
string str = to_string(N); // 将整数转换为字符串
int n = str.size();
for (int i = 0; i < n / 2; i++) {
swap(str[i], str[n - 1 - i]); // 反转字符串
}
return stoi(str); // 将字符串转换回整数
}
int main() {
int N;
cout << "请输入一个整数:";
cin >> N;
int result = reverseInteger(N);
cout << "反转后的整数为:" << result << endl;
return 0;
}
以上代码首先将给定的整数转换为字符串,然后使用循环将字符串进行反转操作,最后再将反转后的字符串转换回整数。注意,使用 stoi 函数将字符串转换为整数时,如果字符串表示的整数超出了 int 类型的范围,会引发 std::out_of_range 异常。为了简化代码,示例中没有对异常进行处理,实际使用时需要根据具体情况进行适当的处理
原文地址: https://www.cveoy.top/t/topic/iqbv 著作权归作者所有。请勿转载和采集!