90分求调
查看原帖
90分求调
1124791
jusen楼主2025/8/4 16:00
#include<iostream>
#include<algorithm>
using namespace std;
string takeoff(string l){
    string ans="";int check=0;
    for(char c:l){if(c!='0'||check){ans+=c;check=1;}}
    if(ans=="")ans+='0';
    return ans;
}
int main(){
    string num,ans="";cin>>num;
    if(num.find('.')!=-1){
        reverse(num.begin(),num.begin()+num.find('.'));
        ans+=takeoff(num.substr(0,num.find('.')));
        reverse(num.begin()+num.find('.')+1,num.end());
        ans+='.';
        ans+=takeoff(num.substr(num.find('.')+1,num.size()-num.find('.')));
        while(ans[ans.size()-1]=='0'){ans=ans.substr(0,ans.size()-1);}}
    else if(num.find('/')!=-1){
        reverse(num.begin(),num.begin()+num.find('/'));
        ans+=takeoff(num.substr(0,num.find('/')));
        ans+='/';
        reverse(num.begin()+num.find('/')+1,num.end());
        ans+=takeoff(num.substr(num.find('/')+1,num.size()-num.find('/')));}
    else if(num.find('%')!=-1){
        reverse(num.begin(),num.begin()+num.find('%'));
        ans+=takeoff(num.substr(0,num.find('%')));
        ans+='%';
        reverse(num.begin()+num.find('%')+1,num.end());
        ans+=takeoff(num.substr(num.find('%')+1,num.size()-num.find('%')));
        if(ans[ans.size()-1]=='0')ans=ans.substr(0,ans.size()-1);}
    else{reverse(num.begin(),num.end());ans=takeoff(num);}
    cout<<ans;
    return 0;
}
2025/8/4 16:00
加载中...