erfenfa.cpp

来自「里面包含了一个用VC开发的二分法程序」· C++ 代码 · 共 59 行

CPP
59
字号
//二分法求方程的根
#include <math.h>
#include <iostream.h>
//函数
double function(double x)
{
	double y1,y2;
	y1=sin(x)-0.5*x*x;
	y2=x*x*x-x-1;
	return(y2);
}

//主函数
void main()
{
	double former,later,middle;
//	double x,y;
	double root;
	int click=0;
    
	cout<<"欢迎使用二分法求根程序"<<endl;
l1:	cout << "请输入求根区间--->former" <<endl;
	cin >>former;
	cout <<"请输入求根区间--->later" <<endl;
	cin>>later;
	

	if(function(former)*function(later)>0)
	{cout<<"求根区间错误,在此区间内无根,请重新输入" <<endl;
	 goto l1;
	}

	for(;fabs(former-later)>=0.5e-5;click++)
	{   
		middle=(former+later)/2.0;
		cout<<"click="<<click<<endl;
		cout<<"former="<<former<<endl;
		cout<<"later="<<later<<endl;
		
		if(function(middle)==0)
			goto l2;
		if(function(former)*function(middle)>0)
			former=middle;
		else
			later=middle;
		cout<<"middle="<<middle<<endl;
	}
	root=(former+later)/2.0;

l2: cout<<"former=" <<former<<endl;
	cout<<"later=" <<later <<endl;
	cout<<"middle="<<middle<<endl;
	cout<<"ROOT="<<root<<endl;
	cout<<"click="<<click<<endl;
}



⌨️ 快捷键说明

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