大家帮忙看看
这是一个求拉格朗日插值的程序,运行的时候没有错误,但不管输入什么结果总是0,请各位高手帮忙看看有什么问题!#include<stdio.h>
float L(float x[],float y[],float xs,int n){
float d,h=1,l=1,k=0;
int i,j;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(i==j)
return 0;
else{
d=(xs-x[j])/(x[i]-x[j]);
h=h*d;
}
}
l=y[i]*h;
k=k+l;
}
return k;
}
main(){
int n,i;
float x[100],y[100];
float t,g;
printf("请输入插值节点个数 n \n");
scanf("%d",&n);
printf("请输入采样结点的数组\n");
for(i=0;i<n;i++)
scanf("%f",&x[i]);
printf("请输入相应函数值数组\n");
for(i=0;i<n;i++)
scanf("%f",&y[i]);
printf("请输入自变量g\n");
scanf("%f",&g);
t=L(x,y,g);
printf("所求得近似值为\n");
printf("%f\n",t);
}
[ 本帖最后由 阿韬 于 2010-10-3 16:36 编辑 ]