75分求助
查看原帖
75分求助
1424056
CCF_NOIP_楼主2025/6/22 10:19
#include<bits/stdc++.h>
using namespace std;
string s,s1,s2;
int z,z1,s3;
char c,c1[11],c2[11];
int main(){
cin>>s;
    if(s.find('.')!=-1||s.find('/')!=-1){
        if(s.find('.')!=-1){
            c='.';
            z=s.find('.');
        }else{
            c='/';
            z=s.find('/');
        }
        for(int i=0;i<z-1;i++){
            c1[i]=s[i];
            z1++;
        }
        for(int i=z+1;i<s.size();i++){
            c2[i]=s[i];
        }
        for(int i=z1-1;i>=0;i--){
             s1+=c1[i];
        }
        for(int i=s.size()-1;i>=z+1;i--){
            s2+=c2[i];
        }
        while(1)
            if(s1.size()==1)break;
        else if(s1[0]=='0')
                s1.erase(0,1);
            else break;
        if(c=='/'){
            while(1)
            if(s2[0]=='0')
                s2.erase(0,1);
            else break;
        }else{
            while(1){
                int n=s2.size()-1;
         if(s2.size()==1)break;
        else if(s2[n]=='0')s2.erase(n,1);
            else break;
            }
        }
        cout<<s1<<c<<s2;
    }else{
        int n=s.size();
        if(s[s.size()-1]=='%'){
            n--;
            s3=1;
        }
        for(int i=0;i<n;i++){
            c1[i]=s[i];
        }
        s="";
        for(int i=n-1;i>=0;i--){
            s+=c1[i];
        }
        while(1)
            if(s.size()==1)break;
        else if(s[0]=='0')
                s.erase(0,1);
            else break;
        cout<<s;
        if(s3==1){
            cout<<"%";
        }
    }
}
2025/6/22 10:19
加载中...