描述
用二分法求下面方程在(-10,10)(−10,10)之间的根:
2*x*x*x-4*x*x+3*x-6=0
没有输入
输出
输出方程在(-10,10)(−10,10)之间的根,结果精确到小数点后2位,如果有多个根,根之间请用空格隔开
#include <stdio.h>
#include<stdlib.h>
#include <math.h>
int main()
{
double y1,y2,y,x1,x2,x;
x1=-10;
x2=10;
y1=2*x1*x1*x1-4*x1*x1+3*x1-6;
y2=2*x2*x2*x2-4*x2*x2+3*x2-6;
do{
x=(x1+x2)/2;
y=2*x*x*x-4*x*x+3*x-6;
if(y*y1<0)
{
x2=x;
y2=y;
}
else
{
x1=x;
y1=y;
}
}while(fabs(y)>1.0e-10);//在一定的误差之内
printf("%.2lf",x);
return 0;
}