erfenfa.cpp

来自「包括二分法」· C++ 代码 · 共 42 行

CPP
42
字号
 
#include <iostream> 
#include <cmath>
using namespace std; 


   double f(double x)
   {
    return sin(x)-x*x/2.0;
    }
/*
double f(double x)
{
	return x*x*x-x-1;
}
*/

int main()
{
    double a,b,c,e;
	cout<<"please input a b e:"<<endl;
  cin>>a>>b>>e;
  for (int i=0;;i++)
  {
	  c=(a+b)/2.0;
	  if (f(c)==0)
	  {cout<<c;
	    break;
	  }
	  else
	  {
		  f(a)*f(c)>0?(a=c):(b=c);
		  if (b-a<=e)
		  {cout<<"a="<<a<<"\nb="<<b<<"\nc="<<(a+b)/2.0<<endl;
		  break;
		  }
	  }
  }
  
	return 0;
}

⌨️ 快捷键说明

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