信息学奥赛一本通(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;
}
原文地址:https://www.cnblogs.com/AlexKing007/p/12338817.html