*Fibonacci数列的打印,这时间点,我真的在修仙

可以实现打印前n个fibonacci数列

#include<stdio.h>

int main()
{
    void F(int n);
    int n;
    printf("请输入一个整数n,帮您打印出前n个Fibonacci数列!:"); 
    scanf("%d",&n); 
    F(n);//计算和输出数列的函数 
}
void F(int n)
{   
    long x,f1,f2;//定义为长整型是怕加到后来数字太大 
    f1=f2=1;
    if(n<=0)
    {
        printf("输入错误请重新输入(n>0)!\n");
    }
    else if(n<=2)//当n<2时 
    {
        for(;n>0;n--)
        {
            printf("%ld ",f1);
        }
    }
    else//当n>2时 
    {   
        for(x=0;x<n/2;x++)//(n/2)是因为一下子打印f1和f2两个元素,所以循环次数要除以2 
        {
            printf("%ld %ld ",f1,f2);
            if(n%2==1&&x==(n/2-1))//实现如果当n为奇数时输出的数列数量也为奇数 
            {                   //分支条件中(n/2-1)是多打印最后一个数列元素 
                f1=f1+f2;
                printf("%ld ",f1);
            }
            f1=f1+f2;
            f2=f1+f2;
        }
        printf("\n");
    }
}
QQ图片20180127040133.png

睡觉了,再不睡猝死了;


图片发自简书App
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容