作业帮 > 综合 > 作业

请问我下面的程序哪里出问题了?是要用二分法求根的.

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/27 16:47:47
请问我下面的程序哪里出问题了?是要用二分法求根的.
#include
int main()
{double a=10.0,b=-10.0,x,y;
do
{x=(a+b)/2;
y=2*x*x*x-4*x*x+3*x-6;
if(y==0)
{printf("%lf",x);
break;}
else
{if(y>0)
a=x;
if(y
while(y==0)这个判断条件有问题,y为double精度的变量,使用二分法只有在很特殊的情况下y才可能等于0,大多数情况是无限接近零点,这么写很容易出现无限循环,最好把判断条件改成控制结果的精度,例如在y