请教关于二分法解一元四次方程
小弟是新手,用二分法写了在turbo c下面写了一个小程序,期间也参考了网上搜到的其他人写的代码。run之后,a,b,c,d,e的值我输入1,2,3,4,-10,那其实这个四次方程的一个解就是x=1。
但程序给出的解是0.779250(正好是我给的二分区间的中值),我不知道问题出在哪里,请大虾指教。
#include <math.h>
double a,b,c,d,e;
double f(double x)/*given a,b,c,d,e, calculate the value of the expression:ax^4+bx^3+cx^2+dx+e*/
{
double y;
y=a*pow(x,4)+b*pow(x,3)+c*pow(x,2)+d*x+e;
return y;
}
main()
{
double x1=0.2343,x2=1.3242,x12;/*define the intervel [x1,x2]*/
printf("input parameters of the equation:\n");
scanf("%lf,%lf,%lf,%lf,%lf",&a,&b,&c,&d,&e);
do
{
x12=(x1+x2)/2;
if(f(x1)*f(x12)<0)
x2=x12;
else
x1=x12;
}
while (f(x12)>1e-10);
printf("the solution of this equation is:%lf\n",x12);
}