【第47题】 [NOIP2011 普及组] 数字反转

2023-08-31 14:48:59 浏览数 (2)

题目:[NOIP2011 普及组] 数字反转

题目原文请移步下面的链接

  • https://www.luogu.com.cn/problem/P1307
    • 参考题解:https://www.luogu.com.cn/problem/solution/P1307
  • 标签:OI模拟字符串
思路
  • 把原数存成字符串形式,先判断是不是负数,如果是的话先打一个负号(千万别忘了!),先从末尾开始判断是不是0,是0就不输出(不判断连样例都过不去),排掉末尾0后接着从末尾开始倒序输出每一位就行了,中间再有0也不用管
AC代码
代码语言:javascript复制
#include <bits/stdc  .h>
using namespace std;
#define endl 'n';

void best_coder();
void happy_coder();

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    string s;
    cin >> s;
    int a = 0;
    int cnt = 0;
    int n = s.size();
    if (s == "0"){
        cout << 0;
    }
    if (s[0] == '-'){
        cout << '-';
        a = 1;
    }
    for (int i = n - 1; i >= a; --i){
        if (s[i] != '0'){
            break;
        }
        cnt  ;
    }
    for (int i = n - 1 - cnt; i >= a; --i){
        cout << s[i];
    }

    return 0;
}

END

0 人点赞