代码如下所示:
复制代码 代码如下:
#include <stdio.h>
#include <math.h>
int main()
{
float x0,x1,x2,f1,f2,f0; //x1,x2求两端值
do
{
printf("input 2 num:\n");
scanf("%f %f",&x1,&x2);
f1=x1*((2*x1-4)*x1+3)-6;
f2=x2*((2*x2-4)*x2+3)-6;
}while(f1*f2>0); //当输入两个数乘积符号不一致开始求值
do
{
x0=(x1+x2)/2;
f0=x0 * ((2 * x0 -4) * x1 +3)-6;//x0 * ((2 * x0 -4) * x1 +3)-6 要求的多项式
if((f0*f1)<0)
{
x2=x0;
f2=f0;
}
else
{
x1=x0;
f1=f0;
}
}while(fabs(f0)>=1e-6);
printf("x=%6.2f\n",x0);
return 0;
}