哪位大神帮我看看我这程序哪里有问题,我知道它有更好的方法,但是我就想单纯知道这个程序的问题,先谢过了。
#include
#include
float f(float x);
main()
{float a=2.5,b=3.5,c,d;
while(f(a)*f(b)>=0)
b=b+0.5;
do
{
c=(a*f(b)-b*f(a))/(f(b)-f(a));
if(f(a)*f(c)<0) b=c;
else a=c;
d=abs(f(b));
}
while(d>10e-6);
printf("fang cheng de jie wei:%fn",c);
}
float f(float x)
{
float z;
z=x*x*x-5*x*x+16*x-80;
return(z);
}
已退回1积分
2015-9-30 23:47:26
程序进入死循环了。
你的算法有问题,不知道你要求的是什么方程的解,把while(d>10e-6) 改成小于就好了
程序进入死循环了。
你的算法有问题,不知道你要求的是什么方程的解,把while(d>10e-6) 改成小于就好了
举报