东方博宜OJ 1028:输入一个三位数,把个位和百位对调后输出 ← 字符串处理前导0

【题目来源】
https://oj.czos.cn/p/1028

【题目描述】
输入一个三位自然数,然后把这个数的百位数与个位数对调,输出对调后的数。

【输入格式】
输入一行,只有一个整数 x(100≤x≤999)。

【输出格式】
输出只有一行,包括 1 个整数。

【输入样例一】
123

【输出样例一】
321

【输入样例二】
120

【输出样例二】
21

【数据范围】
100≤x≤999

【算法分析】
注意逆序输出时,前导 0 的处理。

【算法代码】
本代码本质上是将逆序后含前导 0 的字符串,输出其不含前导 0 的部分。

#include <bits/stdc++.h>
using namespace std;

string removeLeadingZeros(string s) {
    int p=0;
    while(p<s.size() && s[p]=='0') {
        p++;
    }
    if(p==s.size()) return "0";
    return s.substr(p);
}

int main() {
    string s,t;
    cin>>s;
    reverse(s.begin(),s.end());

    t=removeLeadingZeros(s);
    for(int i=0; i<t.size(); i++) {
        cout<<t[i];
    }

    return 0;
}

/*
in:120
out:21
*/



【参考文献】
https://blog.csdn.net/hnjzsyjyj/article/details/157836967

posted @ 2026-02-07 09:12  Triwa  阅读(19)  评论(0)    收藏  举报