1、问题描述:(需求分析和背景意义)
表达式计算是实现程序设计语言的基本问题之一,也是栈的应用的一个典型的例子。设计一个程序,演示用算符优先法对算术表达式求值的过程。
2、基本要求:(设计阶段,概要设计和详细设计)
以字符序列的形式从终端输入语法正确的、不含变量的整数表达式。利用教科书表3.1给出的算符优先关系,实现对算术四则混合运算表达式的求值,并仿照教科书上的例3-1演示在求值中运算符栈、运算数栈、输入字符和主要操作的变化过程。
3、测试数据: 教科书例3-1的算术表达式3*(7-2),以及下列表达式 8; 1+2+3+4; 88-1*5;1024/4*8; 1024/(4*8); (20+2)*(6/2);3-3-3; 8/(9-9); 2*(6+2*(3+6*(6+6)));(((6+6)*6+3)*2+6)*2;
4、实现提示: (1) 设置运算符栈和运算数栈辅助分析算符优先关系。 (2) 在读入表达式的字符序列的同时,完成运算符和运算数(整数)的识别处理,以及相应的运算。(3)在识别出运算数的同时,要将其字符序列形式转化成整数形式。 (4)在程序的适当位置输出运算符栈、运算数栈、输入字符和主要操作的内容。
2021-04-15 23:58:34
1.61MB
算术表达式
栈
1