如题
进行模拟计算器c语言代码编译
只达成了循环两项式运算
(用的do while循环)
(if判断进行计算)
但不知道该怎么进添加多项式计算
有大拿会吗
救救孩子
˚‧º·(˚ ˃̣̣̥᷄⌓˂̣̣̥᷅ )‧º·˚
给你几个关键字:栈,符号优先级。应该能做出来,刚才打了半天字,结果我就竖屏变横屏就没了
给你举个例子吧。
1+2+3*4*(5-6)
先设置两个栈,姑且叫栈1(用于存数字),栈2(用于存符号)
读取到“1”:压入栈1,继续读
读取到“+”:判断栈2没有符号,则压入栈2继续读。
读取到“2”:压入栈1,继续读。
读取到“+”:判断到栈2有符号,且符号优先级>=这里的“+”,则弹出栈1的两个数,“1”和“2”,并计算出1+2的结果后再次压入栈1
读取到“3”:压入栈1,
读取到“*”:判断出栈2有符号,且符号优先级<这里的“*”,则把“*”压入栈2,继续读。
读取到“4”:压入栈1
读取到“*”:判断到栈2有符号,且符号优先级>=这里的“*”,则弹出栈1的两个数,计算3*4,结果压入栈1.
就这样,你再去了解一下栈怎么做的应该就没问题了。括号那个优先级你自己去想想,全部给你对你也不太好