f(x)=pow(x,3)-5*pow(x,2)+16*x-80=0的根
#include<stdio.h>
#include<math.h>
#define F(x) ((x-5.0)*x+16.0)*x-80.0
float root(float x1,float x2);
int main()
{
float x1,x2,final,f1,f2;
do
{
scanf("%f%f",&x1,&x2);
f1=F(x1);
f2=F(x2);
}while(f1*f2>0);
final=root(x1,x2);
printf("%.2f",final);
}
float root(float x1,float x2)
{
float mid;
mid=(x1+x2)/2.0;
if(F(mid)==0.0)
return mid;
while(fabs(F(mid))>=0.0001)
{
mid=(x1+x2)/2.0;
if(F(mid)>0)
x2=mid;
else
x1=mid;
}
return mid;
}