题目:[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