#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);
	   
}
不知道哪里错了,求解答