求助,全WA,但是测试没问题。
查看原帖
求助,全WA,但是测试没问题。
462079
caomuyilin楼主2022/6/23 19:26
#include <bits/stdc++.h>
using namespace std;
string s;
char c;
int cal(char a, int b, int c)
{
    if (a == '+') return b + c;
    if (a == '-') return b - c;
    if (a == '*') return b * c;
    return b + c;
}
int getlen(int a)
{
    int len = 0, flag = 0;
    if (a < 0)
    {
        flag = 1;
        a = -a;
    }
    while (a)
    {
        a /= 10;
        len++;
    }
    return len + flag;
}
void process(string s)
{
    int a = 0, b = 0, i = 0;
    int len = s.length(), ans=0;
    string temp;
    if (s[0] >= 'a' && s[0] <= 'z')
    {
        c = s[0];
        if (c == 'a') c = '+';
        else if (c == 'b') c = '-';
        else c = '*';
        i = 2;
    }
    while (s[i] != ' ' && i < len) { a = a * 10 + s[i] - '0'; i++;}
    i++;
    while (s[i] != '\0' && i < len) { b = b * 10 + s[i] - '0'; i++;}
    cout << a << c << b << "=" << cal(c, a, b) << endl;
    ans = getlen(cal(c, a, b))+getlen(a)+getlen(b)+2;
    cout << ans << endl;
}
int main()
{
    // ios::sync_with_stdio(false);
    // cin.tie(NULL);
    // freopen("1.in", "r", stdin);
    // freopen("test.out", "w", stdout);
    int n;
    cin >> n;
    getline(cin, s);
    for (int i = 1; i <= n; i++)
    {
        getline(cin, s);
        process(s);
    }
    return 0;
}

代码样例下载验证都是没问题的,就是提交无法通过,有大佬帮忙看下

2022/6/23 19:26
加载中...