非递归打印斐波那契数列

#include <stdio.h>

int main()
{
    int n;             //要打印的数列元素个数
    int a = 1, b = 1;  //数列第一项和第二项的初始值
    int c = 0;         //数列元素值

    scanf("%d", &n);

    for (int i = 1; i <= n; i++)
    {
        if (i == 1 || i == 2)
        {
            printf("%-3d\t", 1);
        }
        else
        {
            c = a + b;             //第三项等于前两项之和
            printf("%-3d\t", c);   //输出第三项
            a = b;                 //原第二项变成新第一项
            b = c;                 //原第三项变成新第二项
        }
    }

    return 0;
}

流程图:

  

猜你喜欢

转载自blog.csdn.net/jiang1126/article/details/125291469