源代码:
#include <stdio.h>
int fun(int n)
{
if(n==1||n==2)//数列的前两项都为1,作为递归的终止条件
return 1;
else
return fun(n-1)+fun(n-2);//求第n项,就是求第n-1项和第n-2项的和
}
int main()
{
int n;
printf("请输入数列项数n:");
scanf("%d",&n);
printf("前%d项斐波那契数列为:\n",n);
for(int i=1;i<=n;i++)
printf("%d ",fun(i));//打印每一项
printf("\n");
return 0;
}
运行结果: