非递归算法

来源:百度知道 编辑:UC知道 时间:2024/05/06 14:14:27
#include "stdio.h"
float p(float x,int n)
{int i;
float p1,p2,p;
if(n==0)
p=1;
else
{p=x;
p1=1;
p2=x;
}
for(i=2;i<=n;i++)
{p=((2*i-1)*p2-(i-1)*p1)/i;
p1=p2;
p2=p;
}
return p;
}
void main()
{
int n,x,c,p1,p2;
printf("input n,x:\n");
scanf("%d%d\n",&n,&x);
c=data(p1,p2);
printf("%d\n",c);
}
有些错误,麻烦大家帮我改改

#include "stdio.h"
float p(float x,int n)
{int i;
float p1,p2,p;
if(n==0)
p=1;
else
{p=x;
p1=1;
p2=x;
}
for(i=2;i<=n;i++)
{p=((2*i-1)*p2-(i-1)*p1)/i;
p1=p2;
p2=p;
}
return p;
}
void main()
{
int n,x,c,p1,p2;
printf("input n,x:\n");
scanf("%d%d\n",&n,&x);
c=p(p1,p2); //修改一下这里
printf("%d\n",c);
}