C语言!!求改错!!求n阶勒让德多项式值

已知计算x的n阶勒让德多项式值的公式如下:

1 (n=0)

P n (x) = x (n=1)

((2n-1)*x*P n-1 (x)-(n-1)*P n-2 (x))/n (n>1)

请编写递归程序实现计算n阶勒让德多项式的值。

已知计算x的n阶勒让德多项式值的公式如下:

1 (n=0)

P n (x) = x (n=1)

((2n-1)*x*P n-1 (x)-(n-1)*P n-2 (x))/n (n>1)

请编写递归程序实现计算n阶勒让德多项式的值。

输入:阶数 n 和自变量 x

输出:勒让德多项式的值(保留小数点后2位)。

#include
#include

int main(int argc, char *argv[])
{float lrd(int a,float b);
float p,x;
int n,i,j;
scanf("%d %d",&n,&x);
p=lrd(n,x);
printf("%.2f",p);

system("PAUSE");
return 0;
}
float lrd(int a,float b)
{int r;
if(a==0) r=1;
else {if(a==1) r=b;
else r=((2a-1)*b*lrd(a-1,b)-(a-1)*lrd(a-2,b))/a;
}
return r;
}
提示错误是:main.c:19:17: invalid suffix "a" on integer constant
else r=((2a-1)*b*lrd(a-1,b)-(a-1)*lrd(a-2,b))/a;
要写2*a不能写2a
C语言!!求改错!!求n阶勒让德多项式值
← 上一篇: 下一篇: →