二分法求根.cpp

来自「使用C++编写的经典数值计算算法,包括NEWTON迭带法,SIMPSON,二分法」· C++ 代码 · 共 40 行

CPP
40
字号
#include<iostream.h>
#include<math.h>
double f(double x)
{
	double y=x-log(x+2);
	return y;
}

void main()
{
	void g(double,double,double,double);
	double a,b;
	cout<<"输入区间下值:";
	cin>>a;
	cout<<"输入区间上值:";
	cin>>b;
	double e1;
	cout<<"输入精度1:";
	cin>>e1;
	double e2;
	cout<<"输入精度2:";
	cin>>e2;
	g(a,b,e1,e2);
	
}
	
void g(double a,double b,double e1,double e2)
{	
	double y1=f(a);
	double y2=f(b);
	double x0=(a+b)/2;
	double y0=f(x0);
	if(fabs(y0)<e1||fabs(b-a)<e2)cout<<"方程的根为:"<<x0;
	else
	{
		if(y0*y1<0){b=x0;y2=y0;g(a,b,e1,e2);}
		else{a=x0;y1=y0;g(a,b,e1,e2);}
	}
}
	

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?