这是一个二分法求解 一元二次方程 x*x-10*x+21=0; 的程序 求解的是方程在区间(2,4.5)之间的解 精度要求为0.0000001
x1表示区间的下界 x2 表示区间的上界 x3用于保存 区间的中间点
#include<iostream>
#include<math.h>
using namespace std;
void main(){
float x1,x2,x3;x1
x1=2,x2=4.5;
while(fabs(x1-x2)>=0.000001){
x3=(x1+x2)/2;
if((x3*x3-10*x3+21)>=0) x2=x3;
else if((x3*x3-10*x3+21)<0) x1=x3;
}
cout<<x2;
}