悲伤,玄关

P1553 数字反转(升级版)

这行代码:if(s[i]>='0'&&s[i]<='0') 没看懂是干什么的。
by User966827 @ 2024-03-16 15:57:50


@[User966827](/user/966827) ```cpp #include<bits/stdc++.h> using namespace std; int main() { int cnt=0; char ch='0'; string s; cin>>s; for(int i=0;i<s.length();i++){ if(s[i]>='0'&&s[i]<='9') cnt++; else{ ch=s[i]; break; } } cnt--; while(s[cnt]=='0'&&cnt>0) cnt--; for(int i=cnt-1;i>=0;i--) cout<<s[i]; if(ch=='0') return 0; cout<<ch; if(ch=='%') return 0; int num=s.length()-cnt-1-1,num1=s.length()-1; while(s[num1]=='0'&&num1>num) num1--; while(s[num]=='0'&&num<s.length()-1) num++; for(int i=num;i<=num1;i++) cout<<s[i]; return 0; } ```
by lucy2012 @ 2024-03-16 16:06:51


```cpp #include<bits/stdc++.h> using namespace std; int main() { int cnt = 0,a; char ch = '0'; bool b=false; string s; cin >> s; for (int i = 0; i < s.length(); i++) { if (s[i] >= '0' && s[i] <= '9') { cnt++; } else { ch = s[i]; a=i+1; break; } } cnt--; while (s[cnt] == '0' && cnt > 0) { if(s[cnt]>'0'&&s[cnt]<='9') { break; } cnt--; } for (int i = cnt ; i >= 0; i--) { cout << s[i]; } if (ch == '0') { return 0; } cout << ch; if (ch == '%') { return 0; } for(int i=s.length();i>=a;i--) { if(s[i]=='0') { if(!b) { b=false; } } if(s[i]>='1'&&s[i]<='9') { b=true; } if(i!=a) { if(b) { cout<<s[i]; } } else { if(s.length()-a==1) { cout<<s[i]; } if(s[a]!='0') { cout<<s[i]; } } } return 0; } ``` 把后面的反转改了
by User966827 @ 2024-03-16 16:37:17


|