用二分法求方程的根.cpp

来自「(1)该码功能是将数组后n为一次放在数组前面」· C++ 代码 · 共 35 行

CPP
35
字号
#include<iostream.h>
#include<math.h>
double f1(double x)
{return x*x+4*x-4;}
double f2(double x)
{return x*x*x+2*x*x+3*x-15;}
void xx(double(*fp)(double),double &a,double&b)
{
	do
	{
		cout<<"请输入方程的区间:";
		cin>>a>>b;
	}
	while(fp(a)*fp(b)>0);//
}
void fun(double(*fp)(double))
{
	double x0,x1,x2;
	xx(fp,x1,x2);//
	do{
		x0=(x2+x1)/2;//
		cout<<x1<<','<<x2<<','<<x0<<endl;
		if(fp(x0)*fp(x1)>0) x1=x0;
		else x2=x0;
	}while(fabs(fp(x0))>1e-5);
	cout<<"方程的解为:"<<x0<<endl;
}
void main()
{
	cout<<"解第一个方程:\n";
	fun(f1);
	cout<<"解第二个方程:\n";
	fun(f2);
}
	

⌨️ 快捷键说明

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