题目:基于顺序存储结构的栈的实现+
目的:掌掘栈的概念及顺序栈的实现4
要求:用C编译器编程实现顺序栈的基本操作及运用栈的基本操作实现表达式求值一
内容过程:
1.→分析栈的逻辑结构及本程序采用的物理结构+
2.算符包括:+、-、、/、(、),假定输入的表达式是合法的
3.分析运算规则
4.→编写程序,其中包括:4
(1)顺序栈的初始化
(2)入核~
(3)出樣
(4)取栈项
(5)判断字符是否是算符:Im(c,OP)+
(6)比较两个算符的优先关系: Precede(a,b),此函数返回值就是 a,b 两
个算符的优先关系,取值可能为人心生。
(7)求运算的函数:Operate(c, theta,d),其中,c,d为操作数,thetal
为运算符,此函数返回 ctheta d 的运算结果。
(8)计算表达式求值:EvaluateExpresgionQ。假定输入表达式是合法的,
该功能能实现求两位数以上的操作数的运算。如:输入 12+34#,得到 46。
(9)主函数中验证 EvaluateExpression()是否正确。选取测试用例要包含
所有的算符,以及用两位以上的操作数。
如测试用例:2(100+50)-200/100#输入完毕,程序能得到正确结果。41