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