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 谢谢