- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用栈实现c语言计算器
栈的应用:C实现简单计算器(表达式的计算)
作为栈的著名应用,表达式的计算可以用下面方法实现:
首先建立两个栈,操作数栈NUM_S和运算符栈OPR_S。
其中,操作数栈用来存储表达式中的操作数;运算符栈用来存储表达式中的运算符。可以用字符‘=’来表示表达式结束符。
自左至右的扫描待处理的表达式,并假设当前扫描到的符号为W,根据不同的符号W做如下不同的处理:
1.若W为操作数,则将W压入操作数栈NUM_S,且继续扫描下一个字符;
2.若W为运算符,则根据运算符的性质做相应的处理:
(0)若符号栈为空,无条件入栈当前指针指向的字符
(1)若w为不大于运算符栈栈顶的运算符,则从操作数栈NUM_S中弹出两个操作数,设先后弹出的操作数为a、b,再从运算符栈
OPR_S中弹出一个运算符,比如为+,然后作运算a+b,并将运算结果压入操作数栈NUM_S。
(2)若w为左括号或者运算符的优先级大于运算符栈栈顶的运算符,则将运算符W压入运算符栈OPR_S,并继续扫描下一个字符。
(3)若运算符W为右括号,循环操作(设先后弹出的操作数为a、b,再从运算符栈OPR_S中弹出一个运算符,比如为+,然后作运
算a+b, 并将运算结果压入操作数栈NUM_S),直到从运算符栈中弹出第一个左括号。
(4)若运算符W为表达式结束符‘=’,循环操作(设先后弹出的操作数为a、b,再从运算符栈OPR_S中弹出一个运算符,比如为
+,然后作运算a+b, 并将运算结果压入操作数栈NUM_S),直到运算符栈为空为止。此时,操作数栈栈顶元素即为表达式的
值。
=========================================================================
举例: 计算 3+(5-2*3)/4-2=
(1) 开始栈为空,3入栈,+入栈,(无条件入栈,5入栈,-号优先级比(高,所以-号入栈,2入栈,*优先级比目前栈顶的-号优先级高,所以*入栈,3入栈,接着扫描到)括号,)括号不入栈
| | | |
--------- ----------
| 3 | | * |
--------- ----------
| 2 | | - |
--------- ----------
| 5 | | ( |
--------- ----------
| 3 | | + |
--------- ----------
操作数栈 操作符栈
(2) 在)括号碰到(括号之前,让操作数栈一直出栈,直到让左括号出栈为止
所以: 2,3弹出操作数栈,*弹出操作符号栈,计算 2*3 = 6,然后将6入操作数栈
| | | |
--------- ----------
| | | |
--------- ----------
| 6 | | - |
--------- ----------
| 5 | | ( |
--------- ----------
| 3 | | + |
--------- ----------
操作数栈 操作符栈
(3) 接着6,5弹出操作数栈,-弹出操作符栈,计算 5-6 = -1, 然后将-1入操作数栈,然后左括号出栈
| | | |
--------- ----------
| | | |
--------- ----------
| | | |
--------- ----------
| -1 | | |
--------- ----------
| 3 |
您可能关注的文档
- 减薪不减士气主管激励员工的“九大妙招”.docx
- 凝固在天空中的那滴泪.doc
- 凝眸水寒间与你一眯定钟情.docx
- 凝炼教育理念提升管理水平.docx
- 冷凝商用燃气容积式热水器三温暖99KW产品介绍.doc
- 凝结水输送管线设计说明.docx
- 凝聚人心强管理奋勇争先提质量.doc
- 几个形容词比较级和最高级的幽默例子.doc
- 几乎百分之百的家长都爱孩子.doc
- 几件小事让我很自豪心得体会.doc
- 某县纪委监委开展“校园餐”突出问题专项整治工作汇报22.docx
- 中小学校园食品安全与膳食经费管理专项整治工作自查报告66.docx
- 某县委常委、宣传部部长年度民主生活会“四个带头”个人对照检查发言材料.docx
- XX县委领导班子年度述职述廉报告3.docx
- 某县纪委关于校园餐问题整治工作落实情况的报告.docx
- 中小学校园食品安全与膳食经费管理专项整治工作自查报告22.docx
- 某县税务局党委领导班子年度民主生活会“四个带头”对照检查材料.docx
- 某县委书记在县委常委班子年度民主生活会专题学习会上的讲话.docx
- 某县纪委校园餐问题整治工作落实情况的报告.docx
- 某区委副书记、区长年度民主生活会对照检查材料.docx
最近下载
- 北师大版五年级上册数学教案(附教学反思板书设计)数学好玩.doc VIP
- 材料力学拉伸实验实验报告.pdf
- 天然气管道输送工程土建施工组织设计.doc
- 脑卒中吞咽障碍患者进食护理中华护理学会团体标准必威体育精装版版.pptx
- B&O PLAY铂傲Beovision 10使用说明书.pdf
- 统编版五年级语文下册全册单元主题阅读理解含答案.pdf VIP
- 数据结构与算法(Java版)第5版叶核亚习题解答答案.pdf
- “一带一路”国家跨文化商务交际教程(秦丽莉)课后习题答案.pdf VIP
- 2025重庆文化艺术职业学院寒假合同制招聘20人笔试备考题库及答案解析.docx
- 村干部公务员考试题及答案.pdf VIP
文档评论(0)