大佬可以解答一下嘛

P1553 数字反转(升级版)

@[Kevinyyj](/space/show?uid=159357) 帮你改了一下 ```cpp #include<bits/stdc++.h> using namespace std; void convert(string s,int n,int m){ int p=n; for(int i=m;i>=n;i--){ if(s[i]!='0'){ p=i; break; } } for(int i=p;i>=n;i--){ cout<<s[i]; } } int main(){ ios::sync_with_stdio(false); cin.tie(0); string s; cin>>s; int flag=1,t=0; for(int i=0;i<s.size();i++){ if(s[i]=='.'){ flag=2; t=i; break; } if(s[i]=='/'){ flag=3; t=i; break; } } if(s[s.size()-1]=='%')flag=4; int p=s.size(); if(flag==1){ convert(s,0,s.size()-1); } if(flag==2){ convert(s,0,t-1); cout<<'.'; for(int i=t+1;i<=s.size()-1;i++){ if(s[i]!='0'){ p=i; break; } } if(p==s.size())cout<<'0'; else{ for(int i=s.size()-1;i>=p;i--){ cout<<s[i]; } } } if(flag==3){ convert(s,0,t-1); cout<<'/'; convert(s,t+1,s.size()-1); } if(flag==4){ convert(s,0,s.size()-2); cout<<'%'; } } ```
by Smile_Cindy @ 2019-04-09 08:46:48


|