# include <stdio.h>
# include <string.h>
struct node
{
    int top;
    int a[1000];
}p;
int main()
{
    char ch[100];
    gets(ch);
    p.top=0;
    for(int i=0 ; ch[i]!='#' ;i++)
    {
        if(ch[i]>='0' && ch[i]<='9')
            p.a[p.top++]=ch[i]-48;
        else if(ch[i] == '*')
        {
            p.a[p.top-2]=p.a[p.top-1]*p.a[p.top-2];
            p.top=p.top-1;
        }
        else if(ch[i] == '/')
        {
            p.a[p.top-2]=p.a[p.top-2]/p.a[p.top-1];
            p.top=p.top-1;
        }
        else if(ch[i] == '+')
        {
            p.a[p.top-2]=p.a[p.top-1]+p.a[p.top-2];
            p.top=p.top-1;
        }
        else if(ch[i] == '-')
        {
            p.a[p.top-2]=p.a[p.top-2]-p.a[p.top-1];
            p.top=p.top-1;
        }
    }
    printf("%d\n",p.a[--p.top]);
    return 0;
}
View Code

相关文章: