用二分法求方程2x^3-4x^2+3x-6=0在(-10,10)之间的根
#include <stdio.h>
#include<stdlib.h>
#include <conio.h>
#include <math.h>
void main()
{
double x0,x1=0,x2=0,fx0,fx1,fx2;//x1,x2未端点,x0为中点,浮点型数据
//输入的区间有解
do
{
printf("请输入端点x1,x2:\n");
scanf("%f%f",&x1,&x2);
printf("x1:%f\n",x1);
printf("x2:%f\n",x2);
fx1=2*x1*x1*x1-4*x1*x1+3*x1-6;
fx2=2*x2*x2*x2-4*x2*x2+3*x2-6;
} while(fx1*fx2>0);
//二分法求解
do
{
x0=(x1+x2)/2;
fx0=2*x0*x0*x0-4*x0*x0+3*x0-6;
if (fx0*fx1<0)//在该区间
{
x2=x0;//调制端点
fx2=fx0;
}
else
{
x1=x0;
fx1=fx0;
}
} while (abs(fx0)>1e-10);
printf("方程的根%f",x0);
system("pause");
}