P1553 数字反转(升级版)(模拟)

时间:2023-12-25 21:57:25

花了2个小时,写的。。mmp只想说,还是我太菜了。

#include<iostream>
#include<cstring>
using namespace std;
char cc[]; int f(){
for(int i=; cc[i]; ++i)
if(!(cc[i]>=''&&cc[i]<=''))return i;
return -;
} int main(){
cin>>cc;
int len=strlen(cc);
int k=f();
if(k==-){
int p=len-;
while(p>&&cc[p]=='')--p;
for(int i=p;i>=;--i)cout<<cc[i]; cout<<endl;
}else if(cc[k]=='.'){
int p=k-;
while(p>&&cc[p]=='')--p;
for(int i=p;i>=;--i)cout<<cc[i]; cout<<".";
p=k+;
while(p<len-&&cc[p]=='')++p;
for(int i=len-; i>=p;--i)cout<<cc[i];
cout<<endl;
}else if(cc[k]=='/'){
int p=k-;
while(p>&&cc[p]=='')p--;
for(int i=p;i>=;--i)cout<<cc[i]; cout<<'/';
p=len-;
while(p>k+&&cc[p]=='')--p;
for(int i=p;i>=k+;--i)cout<<cc[i]; cout<<endl;
}else{
int p=k-;
while(p>&&cc[p]=='')p--;
for(int i=p;i>=;--i)cout<<cc[i]; cout<<"%"<<endl;
}
}