95points,求过!
查看原帖
95points,求过!
479716
nick_zha楼主2021/6/19 20:11

#15 RE

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main(){
    string a,b;
    short stage=4,pos=0;
    cin>>a;
    if(a=="0"){cout<<"0";return 0;}
    if(a=="0%"){cout<<"0%";return 0;}
     if(a=="0/0"){cout<<"0/0";return 0;}
    if(a=="0.0"){cout<<"0.0";return 0;}
    int length=a.size();
    if(a[length-1]=='%'){stage=1;}
    for(int i=0;i<length;i++){
        if(a[i]=='/'){stage=2;pos=i;break;}
        else if(a[i]=='.'){stage=3;pos=i;break;}
    }
    if(stage==4){
        reverse(a.begin(),a.end());
        int pos1;
        for(int i=0;i<length;i++){
            if(a[i]!='0'){pos1=i;break;}
        }
        for(int i=pos1;i<length;i++){
            cout<<a[i];
        }
        return 0;
    }
    else if(stage==1)
    {
        a.erase(length-1,length-1);
        reverse(a.begin(),a.end());
        int pos1;
        for(int i=0;i<length;i++){
            if(a[i]!='0'){pos1=i;break;}
        }
        for(int i=pos1;i<length-1;i++){
            cout<<a[i];
        }
        cout<<"%";
    }
    else if(stage==2||stage==3)
    {
        int pos1;
        string temp,last;
        temp=a.substr(0,pos);
        reverse(temp.begin(),temp.end());
        for(int i=0;i<temp.size();i++){
            if(temp[i]!='0'||temp.size()==1){pos1=i;break;}
        }
        temp.erase(0,pos1);
        for(int i=temp.size()-1;i>0;i--){
            if(temp[i]!='0'||temp.size()==1){pos1=i;break;}
        }
        temp.erase(pos1+1,temp.size());
        last=a.substr(pos+1,length-1);
        reverse(last.begin(),last.end());
        for(int i=0;i<last.size();i++){
            if(last[i]!='0'||last.size()==1){pos1=i;break;}
        }
        last.erase(0,pos1);
        for(int i=last.size()-1;i>0;i--){
            if(last[i]!='0'||last.size()==1){pos1=i;break;}
        }
        last.erase(pos1+1,last.size());
        cout<<temp;
        if(stage==2){cout<<"/";}
        else {cout<<".";}
        cout<<last;
    }
}
2021/6/19 20:11
加载中...