给定一个以字符串形式表示的表达式,求解x。表达式中x的最高次数将等于1。允许使用的运算符为加号、乘号和减号。这些都是二元运算符。因此,2x将写作2*x。每个运算符后面都会跟随一个单项式或常数。
例如,考虑以下方程:
2*x+5-(4*x-7+(4-2))=10*x-9
这是一个完全有效的方程。形式为1*2*3的表达式无效,但形式为1*(2*3)的表达式是有效的。
给定这样一个方程,我们需要找出x的解。如果该方程无效,则程序应显示错误消息。
有人能提供任何关于如何解决这个问题的想法吗?目前我脑海中唯一能想到的是词法分析和使用上下文无关语法进行解析。但我有一种感觉比那要简单得多。有人能给出一些提示吗?