#include<stdio.h>
#include<math.h>
#define maxsize 50
int main(void)
{
    double x[maxsize],y[maxsize],a,b,aa,p,sum;
    int i,j,n;
    printf("please input a= and b=\n");
    scanf("%d %d",&a,&b);
    printf("please input n=\n");
    scanf("%d",&n);
    printf("please input aa=\n");
    scanf("%lf",&aa);
    printf("please input x[i]= y[i]=\n");
    for(i=0;i<n;i++)
        scanf("%lf",&x[i],&y[i]);
    printf("please input x[j]=\n");
    for(j=0;j<n;j++)
        scanf("%lf",&x[j]);
    
    if(x[0]>=a&&x[n]<=b)
    {
        printf("输入错误,请重新输入!\n");
        return 0;
    }
    sum=0;
    for(i=0;i<n;i++)
    {
        p=1;
        for(j=0;j<n;j++)
        {
            if(j!=i)
            {
                p=p*(aa-x[j])/(x[i]-x[j]);
                sum+=p*y[i];
            }
        }
    }
    printf("sum=%d",sum);
    return 0;
}
你说的应该是这个吧,计算方法里面的,拉格朗日插值