侧边栏壁纸
  • 累计撰写 192 篇文章
  • 累计创建 2 个标签
  • 累计收到 87 条评论

【题解】T1331 后缀表达式的值

Allen Best
2023-07-12 / 0 评论 / 1 点赞 / 13 阅读 / 524 字
温馨提示:
本文最后更新于 2023-07-12,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
#include<bits/stdc++.h>
using namespace std;
string s;
stack<int>sk;
int main(){
	int x=0;
	getline(cin,s);
	for(int i=0;i<s.size()-1;i++){
		if(s[i]!=' '&&s[i]>='0'&&s[i]<='9') x=x*10+(s[i]-'0');
		else if(s[i]==' '){
			sk.push(x);
			x=0;
		}
		else if(s[i]=='+'){
			int f=sk.top();
			sk.pop();
			sk.top()=sk.top()+f;
		}
		else if(s[i]=='-'){
			int f=sk.top();
			sk.pop();
			sk.top()=sk.top()-f;
		}
		else if(s[i]=='*'){
			int f=sk.top();
			sk.pop();
			sk.top()=sk.top()*f;
		}
		else if(s[i]=='/'){
			int f=sk.top();
			sk.pop();
			sk.top()=sk.top()/f;
		}
	}
	cout<<sk.top();
	return 0;
}
0

评论区