[NOIP2011 普及组] 数字反转

[NOIP2011 普及组] 数字反转

题目描述

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

输入格式

一个整数 \(N\)

输出格式

一个整数,表示反转后的新数。

样例 #1

样例输入 #1

123

样例输出 #1

321

样例 #2

样例输入 #2

-380

样例输出 #2

-83

提示

【数据范围】

$-1,000,000,000\leq N\leq 1,000,000,000 $。

noip2011 普及组第一题

Code

#include <bits/stdc++.h>
using namespace std;
int main()
{
	int a;
	bool weifushu=false;
	cin >> a;
	if(a==0)
	{
		cout << 0;
		return 0;
	}
	if(a<0)
	{
		a=-a;
		weifushu=1;
	}
	int i=0,b[11],aa=a;
	while(aa>0)
	{
		i++;
		b[i]=aa%10;
		aa/=10;
	}
	if(weifushu)
	{
		cout << '-';
	}
	int zero=true;
	for(int j=1;j<=i;j++)
	{
		if(b[j]!=0)
		{
			zero=false;
		}
		if(zero==false)
			cout << b[j];
		
	}
	return 0;
}
posted @ 2023-05-11 19:33  Momo·Trace  阅读(68)  评论(0编辑  收藏  举报