[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;
}
本文来自小默的博客,转载请注明原文链接:https://www.cnblogs.com/momotrace/p/p1307.html