基于栈的后缀算术表达式求值 |
您所在的位置:网站首页 › 逆波兰表达式求值算法设计题 › 基于栈的后缀算术表达式求值 |
从键盘上输入一个后缀表达式,试编写算法计算表达式的值。规定:后缀表达式的长度不超过一行,以“=”作为输入结束,操作数之间用空格分隔,操作符只可能有+、−、*、/四种运算。
输入
多组数据,每组数据一行,对应一个后缀算术表达式,每个表达式均以“=”结尾。当表达式只有一个“=”时,输入结束。
输出
对于每组数据输出一行,为表达式的运算结果。
输入样例 1 1 2+8 2-7 4-/*= 1 2+= 1 2/= =输出样例 1 6.00 3.00 0.50 #include #include #include #define MAXSIZE 1000 using namespace std; char op[7] = { '+', '-', '*', '/', '(', ')', '=' }; typedef struct { char *base; char *top; int stacksize; }SqStackOPTR; typedef struct { double *base; double *top; int stacksize; }SqStackOPND; int InitStack(SqStackOPTR &S) { S.base=new char [MAXSIZE]; if(!S.base) { cout |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |