RE求大佬帮调

P1449 后缀表达式

xczsxczs @ 2023-12-01 20:05:35

#include<bits/stdc++.h>
using namespace std;
stack<int> s;
int c,x,y,l;
char a[51];
int main(){
    cin>>a;
    for(int i=0;i<strlen(a);i++){
        if(a[i]=='@'){cout<<s.top();return 0;}
        if(a[i]=='+')x=s.top(),s.pop(),y=s.top(),s.pop(),s.push(x+y);
        if(a[i]=='-')x=s.top(),s.pop(),y=s.top(),s.pop(),s.push(y-x);
        if(a[i]=='*')x=s.top(),s.pop(),y=s.top(),s.pop(),s.push(x*y);
        if(a[i]=='/')x=s.top(),s.pop(),y=s.top(),s.pop(),s.push(y/x);
        if(a[i]!='+'&&a[i]!='-'&&a[i]!='*'&&a[i]!='/'){
            while(a[i]!=' ')c=c*10+a[i++]-'0';
            if(c>0&&a[i]=='.')s.push(c),c=0;
        }
    }
}

by heyx0201 @ 2023-12-01 20:21:04

@xczsxczs 一眼丁真,鉴定为在 stack 为空时弹出堆顶


by xczsxczs @ 2023-12-02 15:11:12

@heyx0201 谢谢


|