#include
#include
#define f(x) (x*x*x-6*x-1)
int main()
{
float a=0,b=5,x;//a为范围下界 b为上界 x存储最后结果
while(fabs(a-b)>0.0005)//a-b的绝对值大于0.0005是进行循环
{
if(f(a)*f((a+b)/2)<=0)
//如果中点函数值与下界函数值乘积小于0 就改变上界 否则改变下界
x=b=(a+b)/2;
else
x=a=(a+b)/2;
}
printf("近似根为%.5lf\n",x);//输出
return 0;
}