数据结构实验之栈四:后缀式求值

 

数据结构实验之栈三:后缀式求值

Time Limit: 1000MS Memory limit: 65536K

题目描述

对于一个基于二元运算符的后缀表示式(基本操作数都是一位正整数),求其代表的算术表达式的值。

输入

输入一个算术表达式的后缀式字符串,以‘#’作为结束标志。

输出

求该后缀式所对应的算术表达式的值,并输出之。

示例输入

59*684/-3*+#

示例输出

57

提示

基本操作数都是一位正整数!
 1 #include<stdio.h>
 2 #include<string.h>
 3 int main()
 4 {
 5    int i=0,a[99],sum=0;
 6    char c;
 7    while(scanf("%c",&c)&&c!='#')
 8    {
 9        if(c>='0'&&c<='9')//�������就��
10        {
11            i++;
12            a[i]=c-'0';
13        }
14        else //�������������就���符
15        {
16         switch(c)
17        {
18            case '+':sum=a[i-1]+a[i];break;
19            case '-':sum=a[i-1]-a[i];break;
20            case '*':sum=a[i-1]*a[i];break;
21            case '/':sum=a[i-1]/a[i];break;
22        }
23        i--;
24        a[i]=sum;//��
25        }
26    }
27    printf("%d\n",a[i]);
28   return 0;
29 }
View Code

 

posted @ 2013-07-30 09:46  狂盗一枝梅  阅读(392)  评论(0编辑  收藏  举报