c语言程序设计
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
double objf(double x[])
{double ff;
ff=3*pow(x[0],3)-8*x[0]+9;
return(ff);
}
void jtf(double x0[],double h0,double s[],int n,double a[],double b[]) {int i;
double *x[3],h,f1,f2,f3;
for(i=0;i<3;i++)
x[i]=(double*)malloc(n*sizeof(double));
h=h0;
for(i=0;i
*(x[0]+i)=x0[i];
f1=objf(x[0]);
for(i=0;i
*(x[1]+i)=*(x[0]+i)+h*s[i];
f2=objf(x[1]);
if(f2>=f1)
{h=h0;
for(i=0;i
*(x[2]+i)=*(x[0]+i);
f3=f1;
for(i=0;i
{*(x[0]+i)=*(x[1]+i);
*(x[1]+i)=*(x[2]+i);
}
f1=f2;
f2=f3;
}
for(;;)
{h=2.*h;
for(i=0;i
*(x[2]+i)=*(x[1]+i)+h*s[i];
f3=objf(x[2]);
if(f2
break;
else
{for(i=0;i
{*(x[0]+i)=*(x[1]+i);
*(x[1]+i)=*(x[2]+i);
}