📄 1_2.c
字号:
#include "stdio.h"
#include "math.h"
int newt(x,eps,js,f)
int js;
double *x,eps;
void (*f)();
{ int k,l;
double y[2],d,p,x0,x1;
l=js; k=1; x0=*x;
(*f)(x0,y);
d=eps+1.0;
while ((d>=eps)&&(l!=0))
{ if (fabs(y[1])+1.0==1.0)
{ printf("err\n"); return(-1);}
x1=x0-y[0]/y[1];
(*f)(x1,y);
d=fabs(x1-x0); p=fabs(y[0]);
if (p>d) d=p;
x0=x1; l=l-1;
}
*x=x1;
k=js-l;
return(k);
}
void newtf(x,y)
double x,y[2];
{
y[0]=log(x+sin(x));
y[1]=(1+cos(x))/(x+sin(x));
return;
}
int main()
{
int js,k;
double x,eps;
void newtf(double,double[]);
eps=0.000001;
js=60;
x=1.5;
k=newt(&x,eps,js,newtf);
if(k>=0)
printf("k=%d x=%13.7e\n",k,x);
printf("\n");
getch();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -