问题描述:
用对分法求方程x * x-6 * x - 1 = 0在区间[-10,0]上的实根。
格式:
输入格式:无
输出格式:输出为实型,空格分格
样例1:
输入:无
输出:-0.162278
备注:
精度控制在1e-6
代码:
#include<stdio.h>
#include<math.h>
int main() {
double x1, x2, x0, fx1,fx0,fx2;
x1 = -10, x2 = 0;
do {
fx1 = x1 * x1 - 6* x1 - 1;
fx2 = x2 * x2 - 6 * x2 - 1;
}while(fx1*fx2>0);
do{
x0 = (x1 + x2) / 2;
fx0 = x0 * x0 - 6 * x0 - 1;
if ((fx0 * fx1) < 0) {
x2 = x0;
fx2 = fx0;
} else {
x1 = x0;
fx1 = fx0;
}
} while (fabs(fx0) > 1e-6);
printf("%f ", x0);
return 0;
}
结果: