6_12.cpp
来自「使用二分法逼近求函数近似值的c++实现 是数值算法中的基本算法」· C++ 代码 · 共 43 行
CPP
43 行
#include<iostream.h>
#include<math.h>
#define N 100000
double f(double x)
{
return(3*x+sin(x)-exp(x));
}
double twoPart(double a,double b,double e)
{
double an=a;
double bn=b;
double tn;
for(int i=0;(f(tn)!=0)&&(fabs((an-bn))>e)&&(i<N);i++)
{
tn=(an+bn)/2;
if(f(an)*f(tn)<0)
bn=tn;
else if(f(bn)*f(tn)<0)
an=tn;
}
if(i>=N)
{
cout<<"Can not find!"<<endl;
return 0;
}
return tn;
}
void main()
{
double t;
if(t=twoPart(0,0.5,0.000001))
{
cout<<"f(x)=0:x="<<t<<endl;
cout<<f(t)<<endl;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?