利用二分法求方程的解

问题描述:

利用二分法求方程的解
我想用二分法求方程的解,但无论输入什么值,结果都是“Too Bad !”.
请各位帮忙指出我的错误,谢谢.
#include
float main()
{
float a,b,c;
float y,w,z;
printf("\n(a,b)\n");
scanf("%f,%f",&a,&b);
c=(a+b)/2;
w=a*a*a-9*a-5;
z=b*b*b-9*b-5;
y=c*c*c-9*c-5;
while(y!=0)
{
if( (w>0)||(z0)
{
b=c;
c=(a+c)/2;
}
else if(y

你输入的值是多少-99999999 99999999你while循环的终止条件是函数值=0,但事实上没法找到这么精确的解,它可能是个非常接近于0的值,所以你循环条件改成while(y 1e-5)这样就可以了。关键输出来的值总是“Too Bad !”我觉得是你在读入上出现了问题。你输入的格式是-99999999,99999999吧,中间有个逗号。我第一次忘记加逗号,于是b的值变成了一个不一样的值,导致(w>0)||(z