下面这段代码是从liuhenghui5201借鉴过来的,只不过他没写算法说明,我就代劳了!正好在学数值分析,上机实现效果!
原文地址http://blog.csdn.net/liuhenghui5201/article/details/7588082#
#include<stdio.h>
main()
{
int i,j,k,m,z=0;
double sum=0,w=1,x,b[5][6],cc[2][4];
for(i=0;i<5;i++)
{
printf("请输入x[%d]、y[%d]: ",i,i);
scanf("%lf%lf",&b[i][0],&b[i][1]);
}
for(j=2,k=1;j<6;j++,k++)
{
for(i=j-1;i<5;i++)
{
b[i][j]=(b[i-1][j-1]-b[i][j-1])/(b[i-k][0]-b[i][0]);
}
}
printf("enter x:");
scanf("%lf",&x);
for(m=0;m<4;m++,z=0)
{
cc[0][m]=b[m+1][m+2];
do{
w*=(x-b[z][0]);
}while(z++!=m);
cc[1][m]=w;
}
sum=b[0][1];
for(m=0;m<4;m++)
sum+=(cc[0][m]*cc[1][m]);
printf("\n差值y为: %lf\n",sum);
}