示例源代码 test.cpp
#include <iostream>
using namespace std;
int main()
{
static float Lx[10],Ly[10];
int n,i,j;
float x,y,p;
cout<<"enter n=";
cin>>n;
cout<<"enter xi\n";
for(i=0;i<n;i++)
cin>>Lx[i];
printf("enter yi\n");
for(i=0;i<n;i++)
cin>>Ly[i];
printf("enter x=");
cin>>x;
int k=1;
y=Ly[0];
for(j=n-1;j>0;j--)
{
for(int i=0;i<j;i++)
Ly[i]=((Ly[i+1]-Ly[i])/(Lx[i+k]-Lx[i]));
p=Ly[0];
k++;
for(int i=j;i<n;i++)
p=p*(x-Lx[n-1-i]);
y=y+p;
}
cout<<"y="<<y<<endl;;
getchar();
return 0;
}
Makefile:
test:
g++ test.cpp -o test
clean:
rm -rf test
编译并执行过程如下:
# make
# ./test
enter n=4
enter xi
1
2
3
4
enter yi
2
4
6
8
enter x=5
y=10