用简单的C语言实现带括号的四则运算
完成实现带有括号的四则运算的任务,要求:1)在屏幕能够手动输入待运算的带有括号的四则运算式子;2)输入完成后,通过选择可以完成运算式的运算;。输入是一个带有括号的四则运算...
完成实现带有括号的四则运算的任务,要求:1) 在屏幕能够手动输入待运算的带有括号的四则运算式子;2) 输入完成后,通过选择可以完成运算式的运算;。输入是一个带有括号的四则运算表达式,输出是计算得出的正确计算结果。例如:输入:123+213-67*34+345/23*45*(34+34-345+245+567)回车,然后程序计算得出结果为:359183 不要用数据库以及堆栈之类的 注意要用标准C 不用C++
收起
匿名 | 浏览 1798 次 |举报 展开
收起
匿名 | 浏览 1798 次 |举报 展开
1个回答
2017-08-26
展开全部
只是吐槽,不负法律责任。
对于四则运算的处理应该属于 AST算法 的一个分支,如果不构建词法分析树的话,就难以对给定串(不一定是简单的四则运算)进行优先级处理。
然而居然能够说出“不用堆栈”之类的话,看样子楼主是基本不会什么数据结构了,即使这样,还奢望能够写出四则运算处理。。
然而语言略微有些偏激了。
简而言之,处理四则运算,考虑优先级规则最简单的方法是堆栈(不考虑优先级的话从左到右扫一遍也是可以的),如果要复杂的方法也行,只是连堆栈都不想用的人,估计理解不了那些复杂方法。
最后一提,如果可以使用数据结构(如栈啊,队列啊)的话,追问可以得到源代码,否则请勿回复,并建议主动关闭问题。
对于四则运算的处理应该属于 AST算法 的一个分支,如果不构建词法分析树的话,就难以对给定串(不一定是简单的四则运算)进行优先级处理。
然而居然能够说出“不用堆栈”之类的话,看样子楼主是基本不会什么数据结构了,即使这样,还奢望能够写出四则运算处理。。
然而语言略微有些偏激了。
简而言之,处理四则运算,考虑优先级规则最简单的方法是堆栈(不考虑优先级的话从左到右扫一遍也是可以的),如果要复杂的方法也行,只是连堆栈都不想用的人,估计理解不了那些复杂方法。
最后一提,如果可以使用数据结构(如栈啊,队列啊)的话,追问可以得到源代码,否则请勿回复,并建议主动关闭问题。
追问
可以使用数据结构,但可以附加思路和注释吗,谢谢
急求,谢谢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |