斐波那契数列C++语言与C语言实现

版权声明:所有分享的源代码仅供学习使用,欢迎分享转载,请注明出处 https://blog.csdn.net/weixin_43328024/article/details/84769854

斐波那契数列C++与C分别实现

介绍:
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(3)=2,F(n)=F(n-1)+F(n-2)(n>=4,n∈N*)

代码分享C++:

#include <iostream>
#include<iomanip>

using namespace std;

int main()
{
    int i;
    int N;
    cout << "需要求多少项斐波那契数列:"<<endl;
    cin >> N ;
    long double f[1000] = {1,1};//定义数组并初始化
    for(i=2;i<N;i++)
    {
        f[i] = f[i-2]+f[i-1];
        cout.flags(ios::left);//设置左对齐
    }
    for(i=0;i<N;i++)
    {
        if(i % 5 == 0)
            cout << endl;//相当于打印\n换行
            cout << setw(30)<<f[i];//设置数据宽度
    }
    cout << endl;
}

运行结果:
在这里插入图片描述

总结:在用C++实现斐波那契数列过程中,因为测试数列项比较大,故将数组定义为long double 型,但在设置宽度时和每5个数列元素换行产生了一些冲突,导致代码运行结果4个一行。

代码分享C语言:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int i;
    int N;
    printf("需要计算多少项斐波那契数列:\n");
    scanf("%d",&N);
    double f[1000] = {1,1};
    for(i=2;i<N;i++)
    {
        f[i]=f[i-2]+f[i-1];
    }
    for(i=0;i<N;i++)
    {
        if(i % 5 == 0)
            printf("\n");
        printf("%.lf\t",f[i]);
    }
    printf("\n");
    return 0;
}

运行结果:
在这里插入图片描述

以上就是用C++和C来实现斐波那契数列的程序操作,希望对大家有帮助,也欢迎大佬提出意见想法。

猜你喜欢

转载自blog.csdn.net/weixin_43328024/article/details/84769854
今日推荐