要考试了,拿起课本,发现数据结构上以前偷懒一直推迟的几份作业没做,做了一下,当复习了。第一个就是利用栈的四则运算计算表达式,除了课本上的功能,增加了表达式输入判错功能,阶乘和n次方的运算,取模没有加,感兴趣的可自己加,其优先级类型雷同*和/。阶乘比较特殊,因为它是单操作数运算符,那么咱们这里约定,假如你想进行a!运算,那么你需要输入a!1,这算是本程序的语法吧,另外不支持高精,注意阶乘运算容易溢出。
Data:
2^2^2^2^2
结果
65536
((3/1*1+3)*3+6)/3!1+3!1*(4!1-6)/2
结果
58
4!*5!
结果
error
4!1*5!1
结果
2880
2/(4-4)
结果
error
1*+2
结果
error