#include<stdio.h>
#include<string.h>
#define N 100
typedef struct tag{
double x;
double y;
}POINT;
void main()
{
int i,j,n;
double x,temp,Ln=0;
POINT pt[N];
printf("请输入你要输入点的个数,,1<=n<=%d:\n",N);
printf("n=");
scanf("%d",&n);
printf("\n");
printf("\n请输入对应的点数\n");
for(i=0;i<n;i++)
scanf("%lf,%lf",&pt[i].x,&pt[i].y);
printf("\n");
printf("输入插值点x的值:\n");
scanf("%lf",&x);
printf("\n");
for(i=0;i<n;i++)
{
for(j=0,temp=1;j<n;j++)
{
if(j!=i)
temp=temp*(x-pt[j].x)/(pt[i].x-pt[j].x);
}
Ln=Ln+temp*pt[i].y;
}
printf("输出:\nLn(%lf)=%lf\n",x,Ln);
}
温馨提示:答案为网友推荐,仅供参考