[问题描述]
一个算术表达式是由操作数(operand)、运算符(operator)和界限符(delimiter)组成的。假设操作数是正实数,运算符只含加减乘除等四种运算符,界限符只含左右括号如:6+15*(21-8/4)。编程利用“运算符优先法”求算术表达式的值。
[基本要求]
(1)读入一个合法的算术表达式,输出正确的结果。
(2)考虑算法的健壮性,当表达式错误时,要给出错误原因的提示。
(4)实现非整数的处理。
实现一个简易计算器,我们要做的事情主要有两个。第一个是判断输入的表达式是否正确;第二个是若表达式正确,则求出运算结果。
1、判断算术表达式是否正确
判断
算术表达式是否正确要充分考虑各种可能的错误情况,这里
我列举出了几种错误情况:
(1)
括号不匹配(遗漏了左括号或右括号);
(2)出现非法字符,如 !/?&

本文介绍了一款简易计算器的设计与实现过程,重点讲解了如何利用栈处理中缀表达式,并通过算法确保表达式的合法性。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



