实现带有括号的四则运算。输入是一个带有括号的四则运算表达式,输出是计算得出的正确计算结果。
例如:输入:123+213-67*34+345/23*45*(34+34-345+245+567)回车,可以输出结果。
急用,搜到的好多个输出结果都是错误的。
初学c语言,希望有大佬帮忙。
对于四则运算的处理应该属于 AST算法 的一个分支,如果不构建词法分析树的话,就难以对给定串(不一定是简单的四则运算)进行优先级处理。
然而居然能够说出“不用堆栈”之类的话,看样子楼主是基本不会什么数据结构了,即使这样,还奢望能够写出四则运算处理。。
然而语言略微有些偏激了。
简而言之,处理四则运算,考虑优先级规则最简单的方法是堆栈(不考虑优先级的话从左到右扫一遍也是可以的),如果要复杂的方法也行,只是连堆栈都不想用的人,估计理解不了那些复杂方法。
最后一提,如果可以使用数据结构(如栈啊,队列啊)的话,追问可以得到源代码,否则请勿回复,并建议主动关闭问题。
热门标签: