【codevs 1130】数字反转
2016-09-28 23:05
204 查看
1130 数字反转 2011年NOIP全国联赛普及组
时间限制: 1 s
空间限制: 128000 KB
题目等级 : 白银 Silver
题解
题目描述 Description
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形
式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零.
输入描述 Input Description
输入共 1 行,一个整数N
输出描述 Output Description
输出共 1 行,一个整数,表示反转后的新数。
样例输入 Sample Input
-380
样例输出 Sample Output
-83
数据范围及提示 Data Size & Hint
数据范围
-1,000,000,000 ≤ N≤ 1,000,000,000
用字符串或者字符数组输入 倒着输出就好了
记得判断最高位是不是‘0’
时间限制: 1 s
空间限制: 128000 KB
题目等级 : 白银 Silver
题解
题目描述 Description
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形
式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零.
输入描述 Input Description
输入共 1 行,一个整数N
输出描述 Output Description
输出共 1 行,一个整数,表示反转后的新数。
样例输入 Sample Input
-380
样例输出 Sample Output
-83
数据范围及提示 Data Size & Hint
数据范围
-1,000,000,000 ≤ N≤ 1,000,000,000
用字符串或者字符数组输入 倒着输出就好了
记得判断最高位是不是‘0’
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int MAXN = 25; char num[MAXN]; int k = 0; int main() { cin >> num; int lens = strlen(num); if(num[0] == '-')//如果是个负数 { cout << num[0]; k = 1; } else k = 0; lens --; while(lens >= k) //如果负数的话 数是从‘-’的下一位开始的 正数比负数早一位 { if(num[lens] == '0') lens --; else break; } if(lens + 1 == 0)//如果你就是个0 就直接输出吧 { puts("0"); return 0; } for(int i = lens; i >= k; i --) cout << num[i]; return 0; }
相关文章推荐
- [CODEVS1130]数字反转
- codevs 数字反转 1130
- 1130 数字反转
- 3:数字反转
- 新手村 简单字符串 数字反转(升级版)
- POJ NOI0105-29 数字反转【进制】(Bailian4029)
- P1553 数字反转(升级版)
- QDU 18 反转数字
- P1553 数字反转(升级版)
- 对数字进行排序与反转
- 百练 4029 数字反转
- 华为机试_字符串数字反转逆序
- (C#)数字反转
- <NOIP> 9 . P1307 数字反转
- 华为机试:数字颠倒、 字符串反转
- 【codevs 5251】WYW的数字金字塔
- Codevs 数字三角形 问题合集
- 笔试题:输入两个正整数a和b,然后分别将他们的数字按照高位在右边的 方式反转后求和!
- Sicily 4868. 数字反转
- 九度OJ 题目1089:数字反转