求解用户定义的变量方程

use*_*026 8 c variables equation solver

我非常感谢C,Python,C++或Javascript中的答案.我读了几本书,做了所有的例子.现在我想写一个简单的程序.但是,我已经遇到了以下障碍:

我的目的是从用户那里得到一个等式并将其保存在变量中,例如:

-3*X+4 or pow(2,(sin(cos(x))/5))       >  [In valid C Math syntax]
Run Code Online (Sandbox Code Playgroud)

然后计算某个X值的给定表达式.像这样的东西:

printf("%g", UserFunction(3.2))   // Input 3.2 for X in User's Function and Print Result
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?对于我的生活,我无法弄清楚这一点.令我沮丧的是,解决方案可能只是一个非常简单的解决方案.先感谢您.

Sha*_*our 11

C中没有一种简单的方法可以做到这一点,但我认为muParser可能对你有用,它是用C++编写的,但有C绑定.ExprTk也是一个选项,但看起来它只是C++,从好的方面看起来更容易获得有趣的结果.

另一种选择可能是表达评估,它是Libav的一部分.它在C中,eval.h头文件对接口有一些很好的描述.