TB椰程 TypeBuddy 打字搭子

数字反转

洛谷·深入浅出 · 代码 · cpp · 难度 2/5 · 共 384 字

反转整数各位,处理负号与前导零

  • 洛谷
  • 练习

正文

// 原题:https://oj.yecheng.tv/p/1385
// 题意:给定整数 N,反转其各位得到新数(负号保留在前面,前导零去掉)。
// 思路:取绝对值逐位反转,最后乘回符号。
// 复杂度:O(位数)。
// 易错点:负数要先取符号;反转后前导零会因整数存储自然消失。
#include <iostream>
using namespace std;
int main(){
    int n;
    cin >> n;
    int sign = (n < 0) ? -1 : 1;
    if(n < 0) n = -n;
    int r = 0;
    while(n){ r = r * 10 + n % 10; n /= 10; }
    cout << sign * r << endl;
    return 0;
}

洛谷·深入浅出的其它内容

打字首页 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK