64,646
社区成员
发帖
与我相关
我的任务
分享
#include <cstdlib>
#include <iostream>
#include <cmath>
using namespace std;
double f(double a)
{
double y = exp(a)+10*a-2;
return y;
}
int main()
{
int n,i=0;
double a,b,e1,e2,x;
cout <<"please input a,b,e1,e2,n;" <<endl;
cin>>a>>b>>e1>>e2>>n;
double y1=f(a);
double y2=f(b);
if(y1*y2>0)
cout <<"fail to get the answer:" <<endl;
else
{
do
{
x=(a+b)/2;
if(fabs(f(x)) <e1 )
{
cout <<i+1 <<" " <<x <<" " <<f(x) <<endl;
break;
}
else
{
if(y1*f(x) <0)
{
b=x;
y2=f(x);
i++;
}
else
{
a=x;
y1=f(x);
i++;
}
}
cout <<i <<" " <<x <<" " <<f(x) <<endl;
}while(abs(b-a)>e2);
}
system("pause");
return 0;
}
没问题的
另外想问楼主一下n起什么作用了...