AcWing寒假每日一题——Day34数字反转

给定一个整数,请将该数各个位上数字反转得到一个新数。

新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零。

输入格式
输入共1行,1个整数 N N N

输出格式
输出共1行,1个整数表示反转后的新数。

数据范围
∣ N ∣ ≤ 1 0 9 |N|≤10^9 N109
输入样例:

123

输出样例:

321

输入样例:

-380

输出样例:

-83

分析: 模拟

代码:

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int n,a[N],k,ans=0,flag;
int main(){
    
    
    cin>>n;
    if(n<0){
    
    
        n=-n;
        flag=1;
    }
    while(n){
    
    
        a[k++]=n%10;
        n/=10;
    }
    for(int i=0;i<k;i++){
    
    
        ans+=pow(10,k-i-1)*a[i];
    }
    if(flag) cout<<"-"<<ans<<endl;
    else cout<<ans<<endl;
}

猜你喜欢

转载自blog.csdn.net/messywind/article/details/113811703