c语言利用栈实现表达式求值_C++ 双栈实现表达式求值

07ec9e999edf52d6e88b3a3c7925632a.png

C++双栈实现表达式求值

好程序就是用更少的代码实现更多的功能,该程序无疑做到了这一点。

但在使用更少的代码实现功能的同时,代码也更难让人理解。

程序中的算法与思路均来源于网络,但我知道是伟大的计算机前辈们发明了它。

我经过了很长时间的调试和画图才理解并仿照出了这个程序,但在极少数情况,仍会出现在我意料之外的计算错误,由于此时的表达式较长,我也没有再去深究。

功能:

该程序实现了输入一个表达式求值的功能,支持多重小括号、+-*/%运算,最终结果为一个整数,仅支持正整数运算,输入不正确的数值会导致最终计算结果错误。

运行效果:

694fe4b24496ca338ed74a3ee8922f68.png

4a984088c75062dac61e664fc1d2e35f.png

编译环境:Windows VS2019

思路:

输入的表达式保存到字符串中,通过遍历该字符串,找到字符串中的数字和运算符,再根据规则处理他们。

注意:

该程序仅可以计算正整数的表达式,且最终结果非百分百正确,仅可用于学习参考。

代码:

#include 

不足之处:

该程序功能较少,且计算结果在特定情况下会出错,没有实际意义。


感谢大家的支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值