应该怎么定义,那个位高手给 个简单的例子,谢谢~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
请哪位高手讲解以下程序哪里出问题了
#include <iostream>
#include <cmath>
const double EPS=0.00005 ;
#define N 10;
using namespace std;
double f(double x)
{
return (x)*(x)*(x)-3*(x)-1;
}
void Two(float a,float b)
{
int k;
float FA=f(a);
float FB=f(b);
float FC,c;
float t=FA*FB;
if(t<0)
k=0;
else
{
cout<<"不能用二分法求解。"<<endl;
exit(0);
}
for(k=0;k<N;k++)
{
c=(a+b)/2;
FC=f(c);
if(fabs(FC)<EPS)
break;
else
if(FC*FA>0)
a=c;
else
b=c;
}
if(k>N)
cout<<"次数已达上界,迭代不收敛"<<endl;
else
cout<<"这个方程在2附近的解为:"<<c<<endl;
}
int main()
{
float a,b;
cout<<"请输入区间端点a,b:";
cin>>a>>b;
cout<<"用二分法迭代求解为:"<<endl;
Two(a,b);
return 0;
}