花了2个小时,写的。。mmp只想说,还是我太菜了。
#include<iostream> #include<cstring> using namespace std; char cc[100000]; int f(){ for(int i=0; cc[i]; ++i) if(!(cc[i]>='0'&&cc[i]<='9'))return i; return -1; } int main(){ cin>>cc; int len=strlen(cc); int k=f(); if(k==-1){ int p=len-1; while(p>0&&cc[p]=='0')--p; for(int i=p;i>=0;--i)cout<<cc[i]; cout<<endl; }else if(cc[k]=='.'){ int p=k-1; while(p>0&&cc[p]=='0')--p; for(int i=p;i>=0;--i)cout<<cc[i]; cout<<"."; p=k+1; while(p<len-1&&cc[p]=='0')++p; for(int i=len-1; i>=p;--i)cout<<cc[i]; cout<<endl; }else if(cc[k]=='/'){ int p=k-1; while(p>0&&cc[p]=='0')p--; for(int i=p;i>=0;--i)cout<<cc[i]; cout<<'/'; p=len-1; while(p>k+1&&cc[p]=='0')--p; for(int i=p;i>=k+1;--i)cout<<cc[i]; cout<<endl; }else{ int p=k-1; while(p>0&&cc[p]=='0')p--; for(int i=p;i>=0;--i)cout<<cc[i]; cout<<"%"<<endl; } }