Description
对于一个基于二元运算符的后缀表示式(基本操作数都是一位正整数),求其代表的算术表达式的值。
Input
输入一个算术表达式的后缀式字符串,以‘#’作为结束标志。
Output
求该后缀式所对应的算术表达式的值,并输出之。
Sample
Input
59684/-3+#
Output
57
Hint
基本操作数都是一位正整数!
#include <iostream>
using namespace std;
int s[100005];
int cnt;
void push(int n)
{
s[cnt++]=n;
}
int top()
{
return s[cnt-1];
}
void pop()
{
cnt--;
}
bool Empty()
{
if(cnt==0)
return true;
else
return false;
}
int main()
{
ios::sync_with_stdio(false);
char ch;
while(cin>>ch&&ch!='#')
{
if(ch>='0'&&ch<='9')
push(ch-'0');
else
{
int b=top();
pop();
int a=top();
pop();
if(ch=='+')
push(a+b);
else if(ch=='-')
push(a-b);
else if(ch=='*')
push(a*b);
else if(ch=='/')
push(a/b);
}
}
cout<<top()<<endl;
return 0;
}