#include
#include
#include
double sum(double n)
{
return pow(n,2)-n-1;
}
void main()
{
double x2,f,f1,a,b,x1;
int i ;
printf("请分别输入a、b的值:");
scanf("a=%f b=%f",&a,&b);
for(i=1;i<=10;i++) 迭代十次
{
x2=x1;
f=pow(x2,1)-x2-1;
f1=2*x2-1;
x1=x2-f/f1;
if( x1<b && x1>a)
{
if (sum(x1)*sum(a)<0 && sum(x1)*sum(b)>0)
{
a=x1;
};
if(sum(x1)*sum(a)>0 && sum(x1)*sum(b)<0)
{
b=x1;
};
if(sum(x1)*sum(a)>0 && sum(x1)*sum(b)>0)
{
printf("该方程在该区间中无解\n");
break;
};
}
else
{
x1=(a+b)/2 ;
if (sum(x1)*sum(a)<0 && sum(x1)*sum(b)>0)
{
b=x1;
};
if(sum(x1)*sum(a)>0 && sum(x1)*sum(b)<0)
{
a=x1;
};
if(sum(x1)*sum(a)>0 && sum(x1)*sum(b)>0)
{
printf("该方程在该区间中无解\n");
break;
};
}
}
printf("计算结果:x1=%f\n",x1);
}