以下程序为何没有输出?怎么修正?

来源:百度知道 编辑:UC知道 时间:2024/06/20 17:49:46
中间的输入函数已被我屏蔽,直接取n=5

#include "stdio.h"
#include "math.h"
#define MAX 40 //定义最大维数
int i,j,k;
int n=5;

/*
int input(int n)
{
printf("N="); //输入被插值点的数目
scanf("%d",&n);

if(n>MAX)
{
printf("this input n is larger than MAX_N,please redefine the MAX_N.\n");
return 1;
}

if(n<=0)
{
printf("error!\n");
return 1;
}
else return 0;
}
*/
double lage(double x,double xa[],double f[])
{
/* input(n); */
double lag,temp;
lag=0;
for(i=0;i<=n;i++)
{
temp=1;
for(j=0;j<i;j++)
temp=temp*((x-xa[j])/(xa[i]-xa[j]));
for(j=i+1;j<=n;j++)
temp=temp*((x-xa[j])/(xa[i]-xa[j])); //计算Largrange基函数
lag=lag+temp*f[i];//计算Largrange差值多项式
}
return lag;
}

void main()
{
double MAX1,MAX2;
double x1[100],x2[100],f1[