数字翻转没问题,正负数也没问题,就是0的问题# [NOIP2011 普及组] 数字反转
给定一个整数 N,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例 2)。
一个整数 N。
一个整数,表示反转后的新数。
123
321
-380
-83
【数据范围】
−1,000,000,000≤N≤1,000,000,000。
noip2011 普及组第一题```cpp #include #include using namespace std; int main(){ string k; int s; cin>>k;
for(int i=k.size();i>=0;i--){
if(k[i]=='0'){
continue;
}
else if(k[i]!='0'){
s=i;
break;
}
}
if(k[0]=='-'){
cout<<"-";
for(int i=s-1;i>=1;i--){
cout<<k[i];
}
}
if(k[0]!='-'){
for(int i=s-1;i>=0;i--){
cout<<k[i];
}
}
return 0;
}