80求调!必关!(不知道为什么会有四个RE)
查看原帖
80求调!必关!(不知道为什么会有四个RE)
1322388
mmqqcc楼主2025/7/26 11:21
#include <bits/stdc++.h>
using namespace std;
int op=1;
string s;
string q(string ss){
    for(int i=0;i<ss.size();i++){
        if(ss[0]>'0'){
            return ss; 
        }
        ss=ss.substr(1);
    }
}
int main(){
    cin>>s;
    if(s=="0" || s=="0%"){
        cout<<s; 
        return 0;
    }
    for(int i=0;i<s.size();i++){
        if(s[i]=='.'){
            op=2;
        }
        else if(s[i]=='/'){
            op=3;
        }
        else if(s[i]=='%'){
            op=4;
        }
    }
    if(op==1){
        reverse(s.begin(),s.end());cout<<q(s);
    }
    else if(op==2){
        int ni;
        string s1,s2;
        for(int i=0;i<s.size();i++){
            if(s[i]=='.'){
                ni=i;break;
            }
            s1+=s[i];
        } 
        reverse(s1.begin(),s1.end());
        cout<<q(s1)<<'.';
        for(int i=ni+1;i<s.size();i++){
            s2+=s[i];
        }
        s2=q(s2);
        reverse(s2.begin(),s2.end());
        cout<<s2;
    }
    else if(op==3){
        int ni;
        string s1;
        string s2;
        for(int i=0;i<s.size();i++){
            if(s[i]=='/'){
                ni=i;
                break;
            }
            s1+=s[i];
        }
        reverse(s1.begin(),s1.end());
        cout<<q(s1)<<'/';
        for(int i=ni+1;i<s.size();i++){
            s2+=s[i];
        }
        reverse(s2.begin(),s2.end());
        cout<<q(s2);
    }
    else if(op==4){
        reverse(s.begin(),s.end());
        cout<<q(s)<<"%";
    }
}
2025/7/26 11:21
加载中...