用顺序栈和链栈分别写两个程序,用来实现表达式的计算。C语言实现!
设置两个工作栈:
运算符栈s和操作数栈t。t也存放表达式的运算结果。
算法思想:
1 首先置操作数栈t为空栈,置运算符栈s的栈底为表达式的起始符#(优先级最低)。
2 依次读入表达式中的每个字符ch,直至表达式结束:
若ch是操作数,则进t栈;
若ch是运算符,分三种情况,(1)栈顶运算符优先级高;(2)栈顶运算符优先级低;(3)栈顶运算符与ch优先关系相等。
注意:用运算符优先级!两个程序!
博主可以参考下我这篇文章,用的是C++,但是只要改输入输出的部分就行https://blog.csdn.net/weixin_44001521/article/details/103658614?utm_source=app&app_version=4.17.0&code=app_1562916241&uLinkId=usr1mkqgl919blen