用c语言编写如下程序:二分法求方程f(x)=x^2-x-1=0在区间[1,2]的正根,精确到1e-3。
#include<stdio.h>
#include<math.h>
void main()
{ float Result(float m); //函数声明
float a=1,b=2,mid,result,min,max;
do
{min=a,max=b;
mid=(float)(a+b)/(float)2.0;//计算中间值
if(Result(a)*Result(mid)<0) b=mid;
else a=mid; // 求中间值函数值并比较,替换a或b
printf("%f,%f\n",a,b);//输出替换后a与b的值
}while(fabs(max-min)>0.001);//当精度满足题目要求时,退出循环
printf("\n结果为:%f\n",(a+b)/2);//输出结果
}
float Result(float m)//函数表达式
{
return (m*m-m-1);
}
如果有可以简化的代码,请大神指点。