NOIP201101数字反转

 

试题描述

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

输入
输入共1行,一个整数N
输出
输出共1行,一个整数,表示反转后的新数
输入示例
例1:123
例2:-380
输出示例
例1:321
例2:-83
其他说明
【数据范围】-1,000,000,000 ≤N≤1,000,000,000。 

 1 #include <iostream>
 2 
 3 using namespace std;
 4 char s[100];
 5 int main()
 6 {
 7     scanf("%s",s);
 8     int str=strlen(s),l;
 9     if(s[0]=='-') {cout<<"-";l=1;}
10     else l=0;
11     int temp=str-1,r=str-1;
12     bool hh=false;
13     while(hh==false)
14     {
15         if(s[temp]!='0') hh=true;
16         else {temp--;r--;}
17     }
18     for(int i=r;i>=l;i--) cout<<s[i];
19     return 0;
20 }
NOIP201101数字反转

 

posted @ 2016-01-20 10:26  姚呵呵  阅读(461)  评论(0编辑  收藏  举报