30分求助
查看原帖
30分求助
1041666
Jerry555楼主2023/11/27 21:30
#include <iostream>
#include <cstdio>
#include <string>
using namespace std;
string str,nstr,str2;
string str3,str4;
string func1(string str1){
    str2="";
    for(int i=str.length()-1;i>=0;i--)if(str1[i]!='\0')str2+=str1[i];
    return str2;
}
string Delete(string str1){
    str2=str1.substr(1,str.length()-1);
    return str2;
}
int main(){
    cin >> str;
    if(str.find('.')!=string::npos){
        int pos=str.find('.');
        str3=str.substr(0,pos);
        str4=str.substr(pos+1,str.length()-1);
        //cout << str3 << "." << str4 <<endl;
        str3=func1(str3);
        str4=func1(str4);
        //cout << str3 << "." << str4 <<endl;
        while(str4[str4.length()-1]=='0'){
            str4=Delete(str4);
        }
        //cout << str3 << "." << str4 <<endl;
        while(str3[0]=='0'){
            str3=Delete(str3);
        }
        //cout << str3 << "." << str4 <<endl;
        str=str3+'.'+str4;
    }else if(str.find('/')!=string::npos){
        int pos=str.find('.');
        str3=str.substr(0,pos);
        str4=str.substr(pos+1,str.length());
        str3=func1(str3);
        str4=func1(str4);
        while(str3[0]=='0'){
            str3=Delete(str3);
        }
        while(str4[0]=='0'){
            str4=Delete(str4);
        }
        str=str3+'/'+str4;
    }else if(str.find('%')!=string::npos){
        str3=str.substr(0, str.length()-1-1);
        str3=func1(str3);
        while(str3[0]=='0'){
            str3=Delete(str3);
        }
        str=str3+'%';
    }else{
        str=func1(str);
        while(str[0]=='0'){
            str=Delete(str);
        }
    }
    cout << str << endl;
}
2023/11/27 21:30
加载中...