请帮看看解方程的C code.

来源:百度知道 编辑:UC知道 时间:2024/06/10 00:51:55
新手编程,哪位强人帮我看看。我想解方程,以后只要把方程改改 我就可以解决很多数学题了

#include <stdio.h>
#include <math.h>

double f(double a)
{
double y;
y=6*a-5+1-2+2*a;
return y;
}

int main()
{
double x1,x2,x0;
printf("input a big number, please\n");
scanf("%lf",&x1);
printf("input a small number, please\n");
scanf("%lf",&x2);

x0=(x1+x2)/2;

do
{
if (f(x0)>0.000001)
x0=(x0+x1)/2;
else if (f(x0)<-0.000001)
x0=(x0+x2)/2;
else x0=x0;
}while (f(x0)>=fabs(0.000001));

printf("%lf\n",f(x0));
printf("%lf\n", x0);
}

也可以用matlab解,解的更快

这是一个计算方法C的算法,就是定一个范围,在这个范围里不停折半搜索,当搜索到的数带入方程得出的结果小于0.000001的时候,在误差范围内就可以认定这个数是方程的根,这就是这个程序的算法。你只要改y=6*a-5+1-2+2*a; 把它改成你需要的方程就可以了。之后在屏幕上显示的就是你要的解!!

这是一个使用二分法解方程的算法