#include<stdio.h>
#include<math.h>
double f(double x)
{
 double fx;
 fx=cos(x)-x;
 return fx;
}
double Df(double x)
{
 double fx;
 fx=-sin(x)-1;
 return fx;
}
main()
{
 double epsilon1,epsilon2,alpha;
 int N,n;
 double root;
 double x0,x1,F,DF,tol,k;
 printf("请输入初值alpha:");
 scanf("%lf",&alpha);
 printf("请输入精度epsilon1:");
 scanf("%lf",&epsilon1);
 printf("请输入精度epsilon2:");
 scanf("%lf",&epsilon2);
    printf("请输入最大迭代次数N:");
 scanf("%d",&N);
 x0=alpha;
 for(n=1;n<=N;n++)
 {
  F=f(x0);
  DF=Df(x0);
  if(abs(F-x0)<epsilon1)
  {
   printf("%lf",&x0);
   goto end;
  }
  else if(abs(DF)<epsilon2)
  {
      printf("失败!");
   goto end;
  }
  else
  {
   x1==x0-F/DF;
   tol=abs(x1-x0);
   if(tol<epsilon1)
   {
    printf("%lf",&x1);
    goto end;
   }
  }
  x0=x1;
  k=k+1;
 }
end:
  printf("结束!");
}