31 difference(x,(float *)y,n);
32 printf("Input xx:");
33 scanf("%f",&xx);
34 yy=y[20];
35 for(i=n-1;i>=0;i--) yy=yy*(xx-x[i])+y[i];
36 printf("NewtonInter(%f)=%f",xx,yy);
37 getch();
38}
39
3.高斯列主元消去法,
求解其次线性方程组
1#include<stdio.h>
2#include <math.h>
3#define N 20
4int main()
5{ int n,i,j,k;
6 int mi,tmp,mx;
7 float a[N][N],b[N],x[N];
8 printf("\nInput n:");
9 scanf("%d",&n);
10 if(n>N)
11 { printf("The input n should in(0,N)!\n");
12 getch();
13 return 1;
14 }
15 if(n<=0)
16 { printf("The input n should in(0,N)!\n");
17 getch();
18 return 1;
19 }
20 printf("Now input a(i,j),i,j=0%d:\n",n-1);
21 for(i=0;i<n;i++)
22 { for(j=0;j<n;j++)
23 scanf("%f",&a[i][j]);}
24 printf("Now input b(i),i,j=0%d:\n",n-1);
25 for(i=0;i<n;i++)
26 scanf("%f",&b[i]);
27 for(i=0;i<n-2;i++)
28 { for(j=i+1,mi=i,mx=fabs(a[i][j]);j<n-1;j++)
29 if(fabs(a[j][i])>mx)
30 { mi=j;
31 mx=fabs(a[j][i]);