// Newton Method #include #include #define eps 1e-6 int k; void main(void) { double x1; double x2; double f(x,k); double g(x,k); int i; printf("1...2sin(x)-x=0 2...x*x-5=0 e...End\n"); while (printf("Input k="), scanf("%d",&k)!=0){ printf("x1="); scanf("%lf",&x1); // printf("x1=%f\n",x1); i=1; printf("%3d %10.6f %10.6f\n",i,x1,f(x1,k)); while (fabs(f(x1,k))>eps ){ x2=x1-f(x1,k)/g(x1,k); i=i++; printf("%3d %10.6f %10.6f\n",i,x2,f(x2,k)); x1=x2; } printf(" Ans=%f\n",x2); } } //def function f double f(double x,int k) { switch(k) { case 1: return 2*sin(x)-x; break; case 2: return x*x-5; break; default: return 0; break; } } //def function g double g(double x,int k) { switch(k) { case 1: return 2*cos(x)-1; break; case 2: return 2*x; break; default: return 0; break; } }