TB椰程 TypeBuddy 打字搭子

数字反转

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

去掉小数点整体反转再补回小数点

  • 洛谷
  • 例题

正文

// 原题:https://oj.yecheng.tv/p/1347
// 题意:输入 100~1000 且带一位小数的浮点数,把数字整体翻转(如 123.4->4.321)。
// 思路:读成字符串,去掉小数点得到数字串,整体反转,再在第一个数字后加小数点输出。
// 复杂度:O(1)。
// 易错点:是整个数字串反转,不是只反转整数部分;用字符串避免浮点误差。
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main() {
    string s;
    cin >> s;
    string t;
    for (char c : s) if (c != '.') t += c;
    reverse(t.begin(), t.end());
    cout << t[0] << "." << t.substr(1) << endl;
    return 0;
}

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

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