示例源代码如下 test.c :
#include <stdio.h>
int main()
{
static float Lx[10],Ly[10];
int n,i,j;
float x,y=0,p;
printf("enter n=");
scanf("%d",&n);
printf("enter xi\n");
for(i=1;i<=n;i++)
scanf("%f",&Lx[i]);
printf("enter yi\n");
for(i=1;i<=n;i++)
scanf("%f",&Ly[i]);
printf("enter x=");
scanf("%f",&x);
for( i=1;i<=n;i++ )
{
p=1;
for( j=1;j<=n;j++ )
{
if(i!=j)
p=p*(x-Lx[j])/(Lx[i]-Lx[j]);
}
y=y+p*Ly[i];
}
printf("y=%f\n",y);
return 0;
}
Makefile:
test:
gcc test.c -o test
clean:
rm -rf test
编译并运行过程
# make
# ./test
enter n=4
enter xi
1
2
3
4
enter yi
2.3
4.3
5.5
7.8
enter x=2.5
y=4.881250