30分求助
查看原帖
30分求助
227728
冰糖鸽子TJ鸽子协会楼主2020/7/20 15:34

思路是先筛掉空格,然后记录是哪一种方程,之后一堆if输出

#include <bits/stdc++.h>
using namespace std;
int main()
{
    string s,a = "",b = "";
    getline(cin,s);
    int c = 0,d = 0;
    for(int i = 0;i < s.length();i++)
    {
        if(s[i] != ' ')
        {
            a += s[i];
        }
        if(s[i] == '?' || s[i] == '=' || s[i] == '+' || s[i] == '-')
        {
            b += s[i];
        }
    }
    for(int i = 0;i < a.length();i++)
    {
        if(a[i] >= '0' && a[i] <= '9')
        {
            if(c)
            {
                d*=10;
                d+=(a[i] - '0');
            }
            else
            {
                c*=10;
                c+=(a[i] - '0');
            }
        }
    }
    if(b == "?+=" || b == "+?=")
    {
        cout << d - c;
    }
    else if(b == "+=?" || b == "?-=")
    {
        cout << c + d;
    }
    else if(b == "-?=" || b == "-=?")
    {
        cout << c - d;
    }
    return 0;
}
2020/7/20 15:34
加载中...