C语言改写递归方法斐波那契数列

下面递归输出前20项,如何改成可选择输出第几项#include<stdio.h>unsignedintFibonacci(intn);intmain(void){inti... 下面递归输出前20项,如何改成可选择输出第几项

#include <stdio.h>
unsigned int Fibonacci(int n);
int main( void )
{
int i;
for(i = 1 ;i <= 20;i ++)
{
printf("%d\n",Fibonacci(i));
}
return 0;
}
unsigned int Fibonacci(int n)
{
if( n == 1 || n == 2) // 递归结束的条件,求前两项
return 1;
else
return Fibonacci(n-1)+Fibonacci(n-2); // 如果是求其它项,先要求出它前面两项,然后做和。
}
展开
 我来答
wchyumo2011
2015-07-10 · TA获得超过2万个赞
知道大有可为答主
回答量:5810
采纳率:79%
帮助的人:2698万
展开全部
#include <stdio.h>
unsigned int Fibonacci(int n);
int main( void )
{
    int n;
    while (scanf ("%d", &n), n>0){//输入负值或0结束
        printf("%d\n",Fibonacci(n));
    }
    return 0;
}
unsigned int Fibonacci(int n)
{
    if( n == 1 || n == 2) // 递归结束的条件,求前两项
        return 1;
    else
        return Fibonacci(n-1)+Fibonacci(n-2); // 如果是求其它项,先要求出它前面两项,然后做和。
}
追问
好高手啊你
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式