当前位置: 代码迷 >> C语言 >> 请问,根在何方?
  详细解决方案

请问,根在何方?

热度:122   发布时间:2007-08-24 12:59:34.0
请问,根在何方?
#include<stdio.h>
//请问,求方程x*x*x-16*x*x-9*x+15=0的根的程序问题出在那里了?谢谢~~
float f(float x);
main()
{
float a,b,i;
scanf("%f,%f",&a,&b);
for(i=a;i<b;i=i+0.000001)//我想的是用试根法,从a试起,每次增加0。000001,我想一定能试到根。
if(f(i)<0.000001)//f(i)小到0.00001就可以认为是0了。
printf("%f",i);
}
float f(float x){
float y;
y=x*x*x-16*x*x-9*x+15;
return y;
}
//输入a=-5 ;b=25;有三个根~~
----------------解决方案--------------------------------------------------------
可能是float精度不够.
不过我觉得求这个方程用这个办法不好.
应该利用在给定区间内函数的单调性和单峰性用二分才是
----------------解决方案--------------------------------------------------------
  相关解决方案