float P(float n,float x)
{float f;
if(n==0) f=0;
else if(n==1) f=x;
else if(n>=1) f=((2*n-1)*x-P((n-1),x)-(n-1)*P((n-2),x))/n;
return(f);}
#include
void main()
{float n;float x;
scanf("%f,%f",&n,&x);
printf("p=%f\n",P(n,x));}
我按照大家给的方法加了float P(float n,float x)
{
float f;
printf("n=%f,x=%f",n,x);
if(n==0)f=0;
else if(n==1)f=x;
else if(n>=1)f=((2*n-1)*x-P((n-1),x)-(n-1)*P((n-2),x))/n;
return(f);
}发现x的输出是错的,但是具体在哪儿有问题呢
|