C语言一道练习如何建立栈和运用栈来进行一些操作的好题。里面涉及加减乘除括号的优先级考虑和入栈出栈的规则来实现计算中缀表达式。作为数据结构中比较重要的一个结构——栈,我们可以通过这道题更加好的理解栈的用途并熟悉栈的运用
2020-11-07 21:47:48 27KB C语言 数据结构 链表
1
我们很早就学习如何书写及计算表达式,诸如:8+5*(7-3)之类的表达式,先算括号内的7减去3,得到4,然后再算5乘以4,得到20,再计算8加上20,得到28,因此该表达式的值为28。这是人们熟悉的运算规则额:有括号先算括号内;无括号时,先做乘除法,后做加减法;对于相同级别的运算按从左到右的次序运算。而计算机是如何实现表达式的计算的呢?应用栈的相关知识,编程序实现之。 设计思路:从键盘输入中缀表达式,然后将中缀表达式转换为后缀表达式,利用后缀表达式求值。要求以字符序列的形式从终端输入语法正确的、不含变量的整数表达式,利用给定的算术符优先关系,实现对算数四则混合运算表达式的求值,并演示在求值过程中运算符栈、操作符栈、输入字符和主要操作的变化过程。
1