算术表达式的求解-数据结构课程设计报告

课程设计报告题目:算术表达式求值一、需求分析1、设计要求:给定一个算术表达式,通过程序求出最后的结果1>、从键盘输入要求解的算术表达式;2>、采用栈结构进行算术表达式的求解过程;3>、能够判断算术表达

课程设计报告 题目:算术表达式求值 一、需求分析 1、设计要求: 给定一个算术表达式,通过程序求出最后的结果 1>、从键盘输入要求解的算术表达式; 2>、采用栈结构进行算术表达式的求解过程; 3>、能够判断算术表达式正确与否; 4>、对于错误表达式给出提示; 5>、对于正确的表达式给出最后的结果; 2、设计构想: 为了实现算符优先算法使用两个工作栈,一个称作OPTR,以寄存运算符; 另一个称作OPND,用以寄存操作数或运算结果。在操作数和操作符入栈前,通 过一个函数来判别,输入的是操作数还是操作符,操作数入OPND,操作符入 OPTR。在输入表达式的最后输入‘#’,设定‘#’的优先级最低,代表表达式 输入结束。在表达式输入过程中,遇操作数则直接入栈,遇到运算符则与栈顶 运算符比较优先级,若当前运算符优先级高,则当前运算符入栈,扫描下一符 号;否则栈顶运算符出栈,两操作数出栈,进行运算,所得结果入数栈,重新比较 当前运算符与新栈顶运算符。如此重复直到栈顶运算符与当前符号均为‘#’, 运算结束。 二、概要设计 1、本程序包含的模块:

腾讯文库算术表达式的求解-数据结构课程设计报告