1. 程式人生 > >Vijos P1756 數字反轉

Vijos P1756 數字反轉

背景

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

水水更健康......

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
    char str[21];
    int flag=0;
    scanf("%s",str);
    if(str[0]=='-')
    {
        cout<<'-';
        for(int i=strlen(str)-1;i>0;i--)
        {
            if(str[i]!='0')
            {
                flag=i;
                break;
            }
        }
        for(int i=flag;i>0;i--)
        {
            cout<<str[i];
        }
    }
    else
    {
        for(int i=strlen(str)-1;i>=0;i--)
        {
            if(str[i]!='0')
            {
                flag=i;
                break;
            }
        }
        for(int i=flag;i>=0;i--)
        {
            cout<<str[i];
        }
    }
    cout<<endl;
    return 0;
}