1089:数字反转
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 56145 通过数: 29169
【题目描述】
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零,例如输入−380,反转后得到的新数为−83。
【输入】
输入共 1 行,一个整数N。
−1,000,000,000≤N≤1,000,000,000。
【输出】
输出共 1 行,一个整数,表示反转后的新数。
分析:循环,取模于10即可。
#include<iostream>
using namespace std;
int main()
{
int n;
cin >> n;
if (n < 0)
{
cout << '-';
n = 0 - n;
}
while (n % 10 == 0)
{
n /= 10;
//这里是为了避免反转后首数字为0的出现
}
while (n!=0)
{
cout << n % 10;
n /= 10;
}
}