c语言题 帮忙改一下程序

来源:百度知道 编辑:UC知道 时间:2024/09/22 01:29:39
用递归方法求n阶勒让德多项式的值,递归公式为:
n=o Po=1
n=1 p1=x
n>=1 Pn=(2n-1)x-P(n-1)(x)-(n-1)*P(n-2)(x)/n
这是我编的程序,请问哪里出错了?

#include<stdio.h>
void main()
{
char f(int n);
int n;
char y;
scanf("%d",&n);
y=f(f);
printf("%cu",y);
}
f(int n)
{char f,x;
if(n==0)
f=1;
if(n==1)
f=x;
if(n>=1)
f=(2*n-1)*x-f(n-1)-(n-1)*f(n-2)/n;
return(f);
}

#include<stdio.h>
void main(){
int n,x;
int f(int,int);
printf("输入n:");
scanf("%d",&n);
printf("输入x:");
scanf("%d",&x);
printf("结果是:%d\n",f(n,x));
}
int f(int n,int x){//多项式中有两个参数,所以函数需要传入两个参数;注意函数要有一个返回值
if(n==0) return 1;
if(n==1) return x;
if(n>=1) return ( (2*n-1)*x-f(n-1,x)-(n-1)*f(n-2,x) )/n;
}