帮我做道递归问题,先谢谢!!

来源:百度知道 编辑:UC知道 时间:2024/06/14 01:08:57
题目是用递归求N阶勒让德多项式的值,
1 n=0
Pn(X)= x n=1
((2n-1)·x-Pn-1(X)-(n-1)*Pn-2(X))/N n>=1
我怎么做哪错了???
#include "stdio.h"
int p(n,x)
{int m;
if(n==0) m=1;
else if(n==1) m=x;
else m=((2n-1)*x-p(n-1,x)-(n-1)*p(n-2,x))/n;
return m;
}
int main()
{int a,b,c;
int p(n,x);
printf("n=");
scanf("%d",&a);
printf("x=");
scanf("%d",&b);
c=p(a,b);
printf("result=%d",c);
}
给一楼
我改了还是不行!
给2楼
改后跟改前错误提示都一样是 MISSING‘)’before indentifier 'n'

我只看了下语法,其他你自己验证。。

#include "stdio.h"
int p(int n,int x) //函数参数类型要指定
{int m;
if(n==0) m=1;
else if(n==1) m=x;
else m=((2n-1)*x-p(n-1,x)-(n-1)*p(n-2,x))/n;
return m;
}
int main()
{int a,b,c;
int p(int n,int x); //这里也是
printf("n=");
scanf("%d",&a);
printf("x=");
scanf("%d",&b);
c=p(a,b);
printf("result=%d",c);
}

改成这样试试
int p(n,x)
{int m;
if(n==0) return 1;
else if(n==1) return x;
else return ((2n-1)*x-p(n-1,x)-(n-1)*p(n-2,x))/n;
}