以下是本蒟蒻的代码,请大佬多多指教:
#include<iostream>
#include<cmath>
#include<cstring>
using namespace std;
int f=0,l,m,lb,lc;
string a,b,c;
int main(){
cin>>a;
l=a.size();
for(int i=l-1;i>=0;i--){
a[i+1]=a[i];
}
for(int i=1;i<=l;i++){
if(a[i]=='/'){
f=1;break;
}
if(a[i]=='%'){
f=2;break;
}
if(a[i]=='.'){
f=3;break;
}
}
if(f==0){
while(a[l]=='0'&&l>1)l--;
for(int i=l;i>=1;i--){
cout<<a[i];
}
}
if(f==2){
while(a[l-1]=='0'&&l>1)l--;
for(int i=l-1;i>=1;i--){
cout<<a[i];
}
cout<<'%';
}
if(f==1){
while(a[++m]!='/'){
b[m]=a[m];
lb++;
}
int n=0;
for(int i=m+1;i<=l;i++){
c[++n]=a[i];
lc++;
}
while(b[lb]=='0'&&lb>1)
lb--;
for(int i=lb;i>=1;i--){
cout<<b[i];
}
cout<<'/';
n=1;
while(c[n]=='0'&&lc>1)
n++;
for(int i=lc;i>=n;i--){
cout<<c[i];
}
}
if(f==3){
while(a[++m]!='.'){
b[m]=a[m];
lb++;
}
int n=0;
for(int i=m+1;i<=l;i++){
c[++n]=a[i];
lc++;
}
while(b[lb]=='0'&&lb>1)
lb--;
for(int i=lb;i>=1;i--){
cout<<b[i];
}
cout<<'.';
n=1;
while(c[n]=='0'&&lc>1)
n++;
for(int i=lc;i>=n;i--){
cout<<c[i];
}
}
return 0;
}
谢谢大佬~