谁能帮我用C语言编写一个解方程的函数啊

来源:百度知道 编辑:UC知道 时间:2024/05/27 03:06:22
用C语言编写,方程为a*exp(x)-b*x-c=0,能不能把代码给我写出来呢?谢谢啦。上式中a、b、c为常数。谢谢啦~~
我想问一下,这是什么算法啊,原理是什么?谢谢啦

#include <stdio.h>
#include <math.h>
#define a 1.5
#define b 2.5
#define c 4.0
#define MAX 100
#define EP 1e-6

double f(double x)
{
return a*exp(x)-b*x-c;
}
void solve(double m,double n)
{
double x;
while(f(m)*f(n)<0)
{
x=(m+n)/2;
if(f(x)*f(n)<0) m=x;
else n=x;
if(fabs(f(x))<EP) {printf("x=%lf\n",x);break;}
}
}
int main()
{
if(b/a>0) {solve(-MAX,log(b/a));solve(log(b/a),MAX);}
else solve(-MAX,MAX);
return 0;
}