判断方法求解
查看原帖
判断方法求解
301765
ElfOfEra楼主2020/8/20 11:53

Here is the record

Here is the code

#include<iostream>
using namespace std;
int main(){
    string num,numcopy[3];
    int switchnum=1,isdot=0,isslash=0,ispercent=0;
    cin>>num;
    //cout<<"Now the numsize is "<<num.size()<<endl;
    for(int i=0;i<num.size();i++){
        //cout<<"Now the word is "<<num[i]<<endl;
        if(num[i]=='/'){
            isslash=1;
            switchnum=2;
            continue;
        }
        if(num[i]=='.'){
            isdot=1;
            switchnum=2;
            continue;
        }
        if(num[i]=='%'){
            ispercent=1;
            break;
        }
        numcopy[switchnum]+=num[i];
    }
    int nozero=0;
    for(int i=numcopy[1].size()-1;i>=0;i--){
        if(numcopy[1][i]=='0'&&nozero==0){
                continue;
        }else if(numcopy[1][i]!='0'){
            nozero=1;
        }
        cout<<numcopy[1][i];
    }
    if(isdot){
        cout<<".";
        nozero=0;
        for(int i=0;i<numcopy[2].size();i++){
            if(numcopy[2][i]=='0'){
                nozero=0;
                numcopy[2][i]='\0';
            }else if(numcopy[2][i]!='0'){
                nozero=1;
            }
        }
        for(int i=numcopy[2].size()-1;i>=0;i--){
            cout<<numcopy[2][i];
        }
        cout<<endl;
    }
    if(isslash){
        cout<<"/";
        nozero=0;
        for(int i=numcopy[2].size()-1;i>=0;i--){
            if(numcopy[2][i]=='0'&&nozero==0){
                continue;
            }else if(numcopy[2][i]!='0'){
                nozero=1;
            }
            cout<<numcopy[2][i];
        }
        cout<<endl;
    }
    if(ispercent){
        cout<<"%"<<endl;
    }
    return 0;
}

Here is the question

判断的时候是否需要再加判断只输入"0""/""."等特殊值时的语句?

2020/8/20 11:53
加载中...