查看: 809|回复: 8

[E易语言] 算式运算[易语言源码]

[复制链接]
发表于 2021-9-18 15:34 | 显示全部楼层 |阅读模式
邪神老司机 2021-9-18 15:34 809 8 显示全部楼层



算式运算。
中缀表达式转换后缀表达式规则
所有数字直接输出
运算符优先级高于栈内的要入栈(或空栈), 否则从栈中弹出所有优先级更高或一样的运算符(或直到括号), 再将当前的入栈
所有左括号入栈
若是右括号, 栈不断出栈, 直到碰到左括号

> 如果遇到操作符, 则从栈中弹出元素直到 栈顶操作符比当前操作符 优先级更低, 或者栈为空, 或者遇到左括号为止
> 比如当前操作符是 '+', '-' 都要把栈内所有的运算符都弹出并输出, 因为栈顶不可能有比加减优先级更低的操作符
> 再比如当前操作符是 '*', '/' 要把栈内所有的运算符都弹出并输出, 直到栈顶的运算符是 '+' 或者 '-'
> 弹出完这些元素后, 才将遇到的操作符压入到栈中
> 有一点需要注意, 只有在遇到 ')' 的情况下我们才弹出 '(' , 其他情况我们都不会弹出'('

计算后缀表达式
从左向右扫描, 遇到数字压栈
遇到操作符, 弹出栈顶的两个元素进行计算, 先弹出的元素在右边, 后弹出来的在左边
进行计算后, 将结果压栈
再往后扫描, 直到扫描结束, 输出栈顶元素, 即为最终结果

下载地址:
游客,如果您要查看本帖隐藏内容请回复

发表于 2021-9-18 17:37 | 显示全部楼层
hm14199592 2021-9-18 17:37 显示全部楼层
感谢楼主,好人一生平安
回复

使用道具 举报

发表于 2021-9-18 20:43 | 显示全部楼层
a200305 2021-9-18 20:43 显示全部楼层
时光如飞刀,刀刀催人老
回复

使用道具 举报

发表于 2021-9-19 12:42 | 显示全部楼层
又见技术帖!
回复

使用道具 举报

发表于 2021-9-19 13:12 | 显示全部楼层
wu0323 2021-9-19 13:12 显示全部楼层
楼主好人一生平安!
回复

使用道具 举报

发表于 2021-9-21 22:35 | 显示全部楼层
楼主好人一生平安!
回复

使用道具 举报

发表于 2021-9-22 00:39 | 显示全部楼层
huan 2021-9-22 00:39 显示全部楼层
药不能停 / 加大药量
回复

使用道具 举报

发表于 2021-11-10 20:49 | 显示全部楼层
全有 2021-11-10 20:49 显示全部楼层
时光如飞刀,刀刀催人老
回复

使用道具 举报

发表于 2021-12-4 23:41 | 显示全部楼层
3058469330 2021-12-4 23:41 显示全部楼层
感谢楼主,好人一生平安
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 返回列表 发新帖

快速回复 返回顶部 返回列表