有没有大神教一下为什么RE了
查看原帖
有没有大神教一下为什么RE了
832472
yishanyi楼主2023/8/11 20:11
#include<bits/stdc++.h>

using namespace std;
int n;
string s;

char change(char ch) {
    if (ch == 'a') return '+';
    else if (ch == 'b') return '-';
    else if (ch == 'c') return '*';
}

string str(char ex) {
    string ss;
    ss += ex;
    return ss;
}

int getnum(int num) {
    int b = 10;
    int i = 1;
    if (num < 0) i++;
    while (num % b != num) {
        b *= 10;
        i++;
    }
    return i;
}

int main() {
    cin >> n;
    char ex;
    getchar();
    while (n--) {
        getline(cin, s);
        if (s[0] == 'a' || s[0] == 'b' || s[0] == 'c') {
            ex = change(s[0]);
            s.erase(0, 2);
        }
        int l, r, re;
        int i = 0;
        int number = 0;
        while (s[i] != ' ') {
            number = number * 10 + s[i] - '0';
            i++;
        }
        l = number;
        number = 0;
        i++;
        for (i; i < s.size(); i++) {
            number = number * 10 + s[i] -'0';
        }
        r = number;
        if (ex == '+') re = l + r;
        else if (ex == '-') re = l - r;
        else re = l * r;
        for (i = 0; i < s.size(); i++) {
            if (s[i] == ' ') {
                s.replace(i, 1,str(ex));
                break;
            }
        }
        s += '=';
        cout << s << re << endl << s.size() + getnum(re) << endl;
    }
    return 0;
}

第一个点我的编译器是能跑的

2023/8/11 20:11
加载中...