43

问答题 43 /49

以下函数的功能是用递归的方法计算x的n阶勒让德多项式的值。已有调用语句p(n,x);编写函数实现功能。递归公式如下:

参考答案

#include <stdio.h>

float p(int x,int n)

{

       float t,t1,t2;

       if(n= =0) return 1;

       else if(n= =1) return x;

       else

       {

              t1=(2*n-1)*x*p(x,(n-1));

              t2=(n-1)*p(x,(n-2));

              t=(t1-t2)/n;

              return t;

}

}

int main()

{

       int x,n;

       printf(“input two int (x and n):”);

       scanf(“%d%d”,&x,&n);

       printf(“%.2f\n”,p(x,n));

       return 0;

}