GEEK编程练习— —反转整数
2016-06-12 08:51
281 查看
题目
把输入的Integer类型数据进行翻转输出。输入
123 -123
输出
321 -321
分析
1)考虑负数情况2)考虑溢出情况,以32位整数为例
代码
#include <iostream> #include <cmath> using namespace std; int main() { int x; cin >> x; long long r = 0; long long t = x; t = t > 0 ? t : -t; for (; t; t /= 10) { r = r * 10 + t % 10; } bool sign = x > 0 ? false : true; if (r > pow(2,32) - 1 || (sign && r > pow(2,32))) { cout << 0 << endl; return 0; } else { if (sign) { cout << -r << endl; return 0; } else { cout << r << endl; return 0; } } return 0; }