BJFU

您所在的位置:网站首页 bjfuoj答案 BJFU

BJFU

2023-10-29 05:36| 来源: 网络整理| 查看: 265

欢迎登录北京林业大学OJ系统 http://www.bjfuacm.com

240基于栈的中缀算术表达式求值

描述 输入一个中缀算术表达式,求解表达式的值。运算符包括+、-、*、/、(、)、=,参加运算的数为double类型且为正数。(要求:直接针对中缀算术表达式进行计算,不能转换为后缀或前缀表达式再进行计算,只考虑二元运算即可。) 输入 多组数据,每组数据一行,对应一个算术表达式,每个表达式均以“=”结尾。当表达式只有一个“=”时,输入结束。参加运算的数为double类型。 输出 对于每组数据输出一行,为表达式的运算结果。输出保留两位小数。 输入样例 1 2+2= 20(4.5-3)= =* 输出样例 1 4.00 30.00

#include using namespace std; #define MAX 100 #define OK 0 #define ERROR -1 #define OVERFLOW -2 typedef struct { char *base; char *top; int stacksize; }Stack1; int InitStack1(Stack1 &S) { S.base=new char[MAX]; if(!S.base) return OVERFLOW; S.top=S.base; S.stacksize=MAX; return OK; } int push1(Stack1 &S, char e) { if(S.top-S.base==S.stacksize) return ERROR; *S.top=e; S.top++; return OK; } int pop1(Stack1 &S) { if(S.top==S.base) return ERROR; S.top--; return OK;


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3