简易计算器(详解用栈实现算术表达式求值)

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

[问题描述]

一个算术表达式是由操作数(operand)、运算符(operator)和界限符(delimiter)组成的。假设操作数是正实数,运算符只含加减乘除等四种运算符,界限符只含左右括号如:6+15*(21-8/4)。编程利用“运算符优先法”求算术表达式的值。

[基本要求]

(1)读入一个合法的算术表达式,输出正确的结果。

(2)考虑算法的健壮性,当表达式错误时,要给出错误原因的提示

(4)实现非整数的处理

实现一个简易计算器,我们要做的事情主要有两个。第一个是判断输入的表达式是否正确;第二个是若表达式正确,则求出运算结果。

1、判断算术表达式是否正确

判断 算术表达式是否正确要充分考虑各种可能的错误情况,这里 我列举出了几种错误情况:
(1) 括号不匹配(遗漏了左括号或右括号);
(2)出现非法字符,如 !/?&
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值