信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1089:数字反转
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 12285 通过数: 6308
【题目描述】
给定一个整数,请将该数各个位上数字反转得到一个新数。
新数也应满足整数的常见形式,即除非给定的原数为零,
否则反转后得到的新数的最高位数字不应为零,例如输入-380,反转后得到的新数为-83。
【输入】
输入共 1 行,一个整数N。-1,000,000,000 ≤ N≤ 1,000,000,000。
【输出】
输出共 1 行,一个整数,表示反转后的新数。
【输入样例】
123
【输出样例】
321
【提示】
【输入输出样例 2】
输入:
-380
输出:
-83
【来源】
NO
代码
#include<iostream>
using namespace std;
int main()
{
int n;
int sum=0;
cin>>n;
if(n<0)//若n为负数
{
cout<<"-";//输出负号
n=-n;//取正
}
while(n)//相当于n!=0
{
sum=sum*10+n%10;//原数个位相当于新数最高位
n/=10;//整除10,相当于删除个位
}
cout<<sum<<endl;
return 0;
}