全部RE

P1449 后缀表达式

z_yk @ 2022-08-27 10:41:57

各位大佬帮忙看一下错在哪里,谢谢

#include<iostream>
#include<stack>

using namespace std;

stack<char>st;

int main()
{
    string a;
    long long ans = 0;
    cin >> a;
    for (int i = 0; i < a.length(); i++)
    {
        if (a[i] > '0' && a[i] < '9')
        {
            st.push(a[i]);
        }
        else if (a[i] = '+')
        {
            int temp1, temp2;
            temp1 = st.top() - '0';
            st.pop();
            temp2 = st.top() - '0';
            st.pop();
            ans += temp1 + temp2;
        }
        else if (a[i] = '-')
        {
            int temp1, temp2;
            temp1 = st.top() - '0';
            st.pop();
            temp2 = st.top() - '0';
            st.pop();
            ans += temp2 - temp1;
        }
        else if (a[i] = '*')
        {
            int temp1, temp2;
            temp1 = st.top() - '0';
            st.pop();
            temp2 = st.top() - '0';
            st.pop();
            ans += temp2 * temp1;
        }
        else if (a[i] = '/')
        {
            int temp1, temp2;
            temp1 = st.top() - '0';
            st.pop();
            temp2 = st.top() - '0';
            st.pop();
            ans += temp2 / temp1;
        }
        else continue; 
    }
    cout << ans;
    return 0;
}

by char_cha_ch @ 2022-08-27 10:49:28

头像……


by char_cha_ch @ 2022-08-27 10:50:09

@臧翊凯123456 判断数字的地方错了


by z_yk @ 2022-08-27 10:54:02

我是不是应该把算出来ans再压入栈,再改一下循环次数,然后再用字符存储表达式 (不要在意头像)


by idgg007 @ 2022-08-27 11:06:51

@kirihara233 大佬能帮我看看吗?帖子


|