#include<stdio.h>
#define N 20
void main()
{
jhs(2,2,1);
jds(2,2,1);
}
void jhs(float x,int n,int i)
{
float k=0;
float m=i/n;
float p=k/n;
float a,fz,fm;
for(k;k<=n;k++)
{
if(k!=i)
{
p=k/n;
fz=fz*(x-p);
fm=fm*(m-p);
}
}
a=fz/fm;
printf("基函数值为:%f\n",a);
}
void jds(float x,int n,int i)
{
float k=0;
float p=i/n;
float q=k/n;
float r;
int m=0;
float b,fz,fm,sum;
for(k;k<=n;k++)
{
p=i/n;
if(k!=i)
{
q=k/n;
fz=fz*(x-q);
fm=fm*(p-q);
}
}
for(m;m<=n;m++)
{
r=m/n;
if(m!=i)
{
b=fz/(x-r);
sum=sum+b;
}
}
b=sum/fm;
printf("基函数的导数值为:%f\n",b);
}
不知道哪里错了,求解答