附录B:牛顿插值法的程序 #include<stdio.h> void main() { float x[11],y[11][11],xx,temp,newton; int i,j,n; printf("Newton插值:\n请输入要运算的值:x="); scanf("%f",&xx); printf("请输入插值的次数(n<11):n="); scanf("%d",&n); printf("请输入%d组值:\n",n+1); for(i=0;i<n+1;i++) { printf("x%d=",i); scanf("%f",&x[i]); printf("y%d=",i); scanf("%f",&y[0][i]); } for(i=1;i<n+1;i++) for(j=i;j<n+1;j++) { if(i>1) y[i][j]=(y[i-1][j]-y[i-1][j-1])/(x[j]-x[j-i]); else y[i][j]=(y[i-1][j]-y[i-1][j-1])/(x[j]-x[j-1]); printf("%f\n",y[i][i]); } temp=1;newton=y[0][0]; for(i=1;i<n+1;i++) { temp=temp*(xx-x[i-1]); newton=newton+y[i][i]*temp; } printf("求得的结果为:N(%.4f)=%9f\n",xx,newton);










