作业帮 > 综合 > 作业

如何用C++编一个程序:输入一个整数 N 输出一个整数,表示反转后的新数(详见问题补充) 请回答代码

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/15 10:53:23
如何用C++编一个程序:输入一个整数 N 输出一个整数,表示反转后的新数(详见问题补充) 请回答代码
给定一个整数,请将该数各个位上数字反转得到一个新数.新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零.
输入示例 :
例1:123
例2:-380
输出示例 :
例1:321
例2:-83
【数据范围】-1,000,000,000 ≤ N ≤ 1,000,000,000.
#include<iostream>
#include<string>
using namespace std;

int main()
{
    string n;  // 存读入的数
    cin >> n;
    
    int k=n.size()-1;
    while(n[k]=='0')  // 去掉输入数的末尾的0
        k--;
    string ans="";  //  存答案
    if(n[0]=='-')    // 如果要是负数,答案加上负号
        ans+='-';
        
    for(int i=k; i>=0; --i){   //  从n的后面向前度,读一个就加到答案里
        if(i==0){
            if(n[i]!='-')
                ans+=n[i];
        }
        else{
            ans+=n[i];
        }
    }
    cout << ans << endl; // 输出
    return 0;
}