这个程序的算法思想是什么,我看不明白
/* 以下程序的功能是用二分法求方程2x(3)-4x(2)+3x-6=0的根,并且要求绝对误差不超过0.001 *//* 注:2x(3)为2x的立方, */
#include<stdio.h>
float f(float x)
{
return(2*x*x*x-4*x*x+3*x-6);
}
main()
{
float m=-100.0,n=90.0,r;
r=(m+n)/2;
while(f(r)*f(n)!=0)
{
if(f(r)*f(n)<0)
m=r;
else
n=r;
if(n-m<0.001)
break;
r=(m+n)/2;
}
printf("The is solution is%603f\n",r);
getch();
}
特别是对两个if里的条件表达式,我不理解!!!那位大虾指点五迷津?
[ 本帖最后由 xinbuzai 于 2010-7-12 18:53 编辑 ]