欢迎登录北京林业大学OJ系统
http://www.bjfuacm.com
244基于栈的后缀算术表达式求值
描述
从键盘上输入一个后缀表达式,试编写算法计算表达式的值。规定:后缀表达式的长度不超过一行,以“=”作为输入结束,操作数之间用空格分隔,操作符只可能有+、−、*、/四种运算。
输入
多组数据,每组数据一行,对应一个后缀算术表达式,每个表达式均以“=”结尾。当表达式只有一个“=”时,输入结束。
输出
对于每组数据输出一行,为表达式的运算结果。
输入样例 1
1 2+8 2-7 4-/*=
1 2+=
1 2/=
输出样例 1
6.00
3.00
0.50
#include<iostream>
#include<string>
using namespace std;
#define MAX 100
#define OK 0
#define ERROR -1
#define OVERFLOW -2
typedef struct
{
double *base;
double *top;
int stacksize;
}Stack;
int InitStack(Stack &S)
{
S.base=new double[MAX];
if(!S.base) return OVERFLOW;
S.top=S.base;
S.stacksize=MAX;
return