背景
noip2011 NO.1
描述
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
格式
输入格式
输入共1 行,一个整数N。
输出格式
输出共1 行,一个整数,表示反转后的新数。
样例1
样例输入1[复制]
123
样例输出1[复制]
321
样例2
样例输入2[复制]
-380
样例输出2[复制]
-83
限制
1s
提示
【数据范围】
-1,000,000,000 ≤ N ≤ 1,000,000,000 。
来源
noip 2011
不知道c++有个函数叫reverse()笑
还是水哦
# include<string> # include<iostream> # include<cstdio> # include<cstring> # include<algorithm> using namespace std; string s; int ok=1,p; int main(){ cin>>s; if(s[0]==‘-‘){ok=0;reverse (++s.begin(),s.end ());} else reverse (s.begin(),s.end ()); if(ok){for(int i=0;i<s.size();i++)if(s[i]!=‘0‘){p=i;break;}for(int i=p;i<s.size();i++)cout<<s[i];} else {cout<<s[0];for(int i=1;i<s.size();i++)if(s[i]!=‘0‘){p=i;break;}for(int i=p;i<s.size();i++)cout<<s[i];} }
时间: 2024-10-20 05:13:12