c语言程序设计,设计一个简单的程序,能完成加减乘除运算,网上搜的答案运行都出现很多错误,解释一下程 10

c语言程序设计,设计一个简单的程序,能完成加减乘除运算,网上搜的答案运行都出现很多错误,解释一下程序设计的思路,多谢了,各位... c语言程序设计,设计一个简单的程序,能完成加减乘除运算,网上搜的答案运行都出现很多错误,解释一下程序设计的思路,多谢了,各位 展开
 我来答
free逍遥星空
推荐于2017-10-03 · TA获得超过344个赞
知道小有建树答主
回答量:231
采纳率:100%
帮助的人:190万
展开全部
1、简单版本的,输入两个数一个操作符:“1 + 2”类似这种,直接获取两个数以及操作符,用switch语句来分别对不同操作符进行操作。
2、复杂版本的,随意输入表达式,可以有括号以及其他运算符,“1+2*8+(6/7)^3”类似这种,有四种解决办法:
2.1、一遍一遍地扫描字符串,优先级越高的运算符越先做,每扫描一次减少一点,直到表达式只剩一个数值。
2.2、将表达式通过栈转换为逆波兰表达式,并计算逆波兰表达式。
2.3、递归求解,使用类似BNF的定义来使用递归将表达式一点一点剥离成小表达式,计算完小表达式后,将多个小表达式综合起来,即为整个表达式的值。
2.4、直接使用lex和yacc来写一个计算器,需要写的代码量很少,自动生成的代码量比较多。
主要就这几种思路,细节问题你可以自己上网查。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式