如何运用大一C语言基础编写简单带括号的四则运算?

 我来答
GTA小鸡
高粉答主

2017-02-27 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部
利用堆栈将中缀表达式转换为后缀表达式计算。简单给你讲一下算法:
1.从中缀表达式中逐字符读入操作数
2.若操作数为数字,直接输出到后缀表达式队列
3.若操作数为左括号(,将其压栈
4.若操作数为加减乘除运算符,将其与栈顶元素比较:
①操作数优先级高于栈顶元素,则将操作数压栈;
②操作数优先级等于或低于栈顶元素,先将栈顶元素出栈,然后将操作数压栈。
5.若操作数为右括号),从栈顶元素开始出栈,直到遇到左括号(为止,左括号也出栈。若直到栈底仍然没有发现左括号,返回表达式匹配错误(说明右括号过多)
6.表达式读取完毕,开始将栈中所有剩余元素出栈。若出栈过程中发现有左括号,返回表达式匹配错误(说明左括号过多)
除了左括号以外,所有出栈的元素都进入到后缀表达式队列中。
7.根据后缀表达式计算算式结果。
追问
能否编写一个程序让我参考一下
本吧冲刺万贴棋
2017-02-27 · TA获得超过850个赞
知道答主
回答量:284
采纳率:0%
帮助的人:73.1万
展开全部
运算顺序:先做括号里的,再做乘除,最后做加减。
追问
我知道,但是怎么用C语言表达出来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
贝壳酥童鞋
2017-02-27 · TA获得超过101个赞
知道答主
回答量:55
采纳率:53%
帮助的人:13.8万
展开全部
问题说的具体一些,举个例子什么的
追问
就是简单的计算器一样,输入数字计算结果,例如1+(3-1)*2会自动得5
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式