#include<stdio.h>
#include<math.h>
#define y(x) (x*x*x-3*x-1)
void ERFENFA()
{
//a表示有根区间左端点,b表示有根区间左端点
double x,a=1.0,b=2.0,fx,fa,fb;
int count=0;
fa=y(a);
fb=y(b);
do{
x=(a+b)/2;
fx=y(x);
if(f(x)==0){
printf("得到准确根为:%f\n",x);break;}
if(fx*fa<0){
b=x; fb=fx;}
else {a=x; fa=fx;}
count++;
}
while(fabs(b-a)/2>0);
printf("二分法求方程的根为x=%f\n共二分了%d次\n",x,count);
}
void main()
{
ERFENFA();
}
程序框架
最新推荐文章于 2023-02-20 21:24:09 发布