【c++题目】:用区间二分法求方程x^3-2x^2-4x-7=0在[3 4]内的根,精确到0.001

2025-02-28 00:44:28
推荐回答(1个)
回答1:

//x^3-2x^2-4x-7=0在[3 4]
#include "stdio.h"
#include "math.h"
#define AX 3.0
#define BX 4.0
double func(double x)
{
//return 2*x*x*x-5*x-1;
return 1*x*x*x-2*x*x-4*x-7;
}
double erfen(double a,double b,double err)
{
double c;
c=(a+b)/2.0;
while (fabs(func(c))>err && func(a-b)>err)
{
if (func(c)*func(b)<0)
{
a=c;
}
if (func(a)*func(c)<0)
{
b=c;
}
c=(a+b)/2.0;
}
return c;
}
void main()
{
double a=AX;
double b=BX;
double err=0.001;
double result;
result=erfen(a,b,err);
printf("二分法解方程:x^3-2x^2-4x-7=0\n");
printf("结果 x=%lf\n",result);
}