P1307 数字反转

题目描述

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

输入输出格式

输入格式:

 

一个整数 NN

 

输出格式:

 

一个整数,表示反转后的新数。

 

输入输出样例

输入样例#1: 复制
123
输出样例#1: 复制
321
输入样例#2: 复制
-380
输出样例#2: 复制
-83

说明

数据范围

-1,000,000,000≤N≤1,000,000,0001,000,000,000N1,000,000,000。

noip2011普及组第一题

#include<bits/stdc++.h>
using namespace std;
int a;
int b=0;
void f(){
    if(a==0) return ;
    if(a%10!=0||b!=0){
    b++;
    cout<<a%10;
}
    a=(a-a%10)/10;
    f();
}
void f2(){
    if(a<=10) return ;
    if(a%10!=0||b!=0){
    b++;
    cout<<a%10;
}
    a=(a-a%10)/10;
    f2();
}
int main(){
    cin>>a;
    if(a<0){
        cout<<"-";
        a=-a;
        //cout<<a<<endl;
        f2();
    }
    if(a==0) cout<<"0";
    if(a>0){
        f();
    }
}

 

posted @ 2019-07-01 20:59  Crazily  阅读(212)  评论(0编辑  收藏  举报