然后我们首先对输入的数字进行判断,看它是正还是为负,分别进行处理。
int arr(long long num)
{
if (num > 0)
{
if (num > INT_MAX){ //进行是否溢出检查
return 0;
}
std::string a = std::to_string(num); //to_string将longlong型数值转换为string
std::reverse(a.begin(), a.end()); //通过reverse将字符串进行翻转
long long b = atoll(a.c_str()); //然后在将字符串转换为longlong型数值
if (b > INT_MAX){
return 0;
}
return b;
}
else if (num < 0)
{
if (num < INT_MIN){
return 0;
}
num = abs(num);
std::string a = std::to_string(num);
std::reverse(a.begin(), a.end());
long long b = -atoll(a.c_str());
if (b < INT_MIN)
{
return 0;
}
return b;
}
}
int main()
{
long long a = 0;
std::cout << "请输入一个数字" << std::endl;
std::cin >> a;
long long b = 0;
b=arr(a);
std::cout << "反转后" << std::endl;
std::cout<< b;
getchar();
getchar();
}