7-8 切分表达式——写个tokenizer吧 (20 分)


 

 写题的时候还是太紧张了,心态不够好,导致审题不清,慌慌张张。怎么办呢???

#include 
using namespace std;
int main() {
    string s;
    cin >> s;
    int leng = s.size(), flag = 0;
    for(int i = 0; i < leng; i++) {
        flag = 0;
        cout << s[i];
        if(s[i] >= '0' && s[i] <= '9') {
            if((s[i+1] >= '0' && s[i] <= '9') || s[i+1] == '.') flag = 1;
        } else if( s[i] ==  '-' || s[i] == '+') {
            if(s[i-1] == '(' || i == 0) flag = 1;
        } else if(s[i] == '.') {
            if(s[i-1] >= '0' && s[i-1] <= '9') flag = 1;
        }
        if(!flag) cout << endl;
    }
}

相关