OpenJudge - 1.5.29:数字反转
描述:
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
解题思路:
1. 定义两个整数,分别命名为n,a,分别表示输入的整数,个位上的数字。
2. 定义一个整数,命名为xin,初始化为0,表示反转后的新数。
3. 定义一个整数,命名为fuhao,初始化为1,代表n的正负。
4. 判断两种情况,如果n是负数(n<0),则fuhao为-1。
5. 使用%将n除以十取余,得到a;表示个位上的数字。
6. 新的xin=上一个的xin*10+个位上的数字。
7. 将n除以十,得到新的n。
8. 重复执行5-7的过程,直到n=0时,结束循环。
9. 将要输出的xin=算下的xin*fuhao
10. 输出xin。
源代码
#inclde<nbits/stdc++.h>
using namespace std;
int main()
{
int n,xin=0,a;
cin>>n;
int fuhao=1;
if(n<0)
{
fuhao=-1;
}
n=n*fuhao;
while(n>0)
{
a=n%10;
xin=xin*10+a;
n=n/10;
}
xin=xin*fuhao;
cout<<xin;
return 0;
}