目录

洛谷每日1题-Day15__P1307-NOIP-2011-普及组-数字反转

洛谷每日1题——-Day15__P1307 [NOIP 2011 普及组] 数字反转

题目描述

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

输入格式

一个整数 N。

输出格式

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

输入输出样例

输入 #1 复制

123

输出 #1 复制

321

输入 #2 复制

-380

输出 #2 复制

-83

说明/提示

【数据范围】

−1,000,000,000≤N≤1,000,000,000。

noip2011 普及组第一题

题解

#include<bits/stdc++.h>
using namespace std;
int main(){
    int N,x,sum=0;
    cin>>N;
    for(int n=N;n!=0;){
        x=abs(n%10);
        n/=10;
        sum=sum*10+x;//类栈思想,先进的数×10的次数最多,运算结束后为最高位
    }
    if(N<0)
        cout<<-sum<<endl;
    else
        cout<<sum<<endl;
    return 0;
}