noip-计算器改良

作者: admin
标签:
更新: 6/13/2019, 5:13:48 PM

题目: 00年普及组-计算器的改良

此题关键点在于解析运算表达式,把未知数的系数和其他常量区分开,最后作除法即可。

而解析运算表达式的一个技巧就是首先对方程的仔细观察,我们从左边开始解析,会遇到以下几种情况:

  1. 是常量?2. 是变量 3. 需要取逆(等式右边)
比如:3x+9=3-3x+9 = -3

如果从左往右依次解析,我们需要关注好几个状态。比如遇到字符‘-’后接下来必定是数字,我们可以把这些数字(实际上是字符)推入一个栈中。在遇到字符‘x’时将放入栈中的数字(实际上是字符)全部取出并转化为对应的数加在变量的常系数累加器上面,接下来依次遍历,遇到‘+’号再次将数字9推入栈中,直到遇到‘=’号,把字符从栈中取出转换为数(取逆)加在常量累加器上面,接下来再进行遍历,规则和上面一样,不过,需要对相应的变量系数取逆,最后把常量累加器除以变量累加器,即得结果,你能写出对应的代码吗?

注意 这里的界定状态,一共有几种情况,那么就有几种界定状态

删除
修改
点击登陆评论