【题目】
给定一个整数 N,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零。
输入格式
一个整数 N。
输出格式
一个整数,表示反转后的新数。
输入样例1: 123
**输出样例1:**321
输入样例2: -380
输出样例2: -83
【代码】
cpp
#include <bits/stdc++.h>
using namespace std;
int main()
{
//该题的解题思路是将输入的数值n从个位开始拆分,边拆分边加入到新的数据中,同时新数要先左移一位(*10)再加入新拆出来的最低位数值。
int n;
cin>>n;
int s=0;//存储反转之后的数据
//第一步:因为不知道n是几位数,所以可以使用while对n进行拆分,一直拆分到n=0.
while(n!=0)
{
//第二步:没拆分出当前值的各位,就将个位加入到s中,同时将s*10,也就是所有位数据向左移动1位
s=s*10+n%10;
//第三步:更新n,将当前n的各位扔掉
n/=10;
}
//第四步:输出反转之后的数值
cout<<s;
return 0;
}