P1307 [NOIP2011 普及组] 数字反转

264 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。 题目描述

给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。 输入格式

一个整数 NN 输出格式

一个整数,表示反转后的新数。 输入输出样例

输入 #1复制

123

输出 #1复制 321

#include<iostream>
using namespace std;
int main()
{
	int n,n1=1;
	cin >> n;
	if (n < 0)
	{
		n *= -1;
		n1 = 0;
	}
	else if (n == 0)
	{
		cout << 0;
		return 0;
	}
	int sum = 0;
	while (n > 0)
	{
		sum *= 10;
		sum += n % 10;
		n /= 10;
	}
	if (n1 == 0)
	{
		sum *= -1;
	}
	cout << sum;
	return 0;
}