斐波那契数列是指每个数字都是前两个数字的和,例如0、1、1、2、3、5、8、13、21等。斐波那契数列的前两个数字是0和1。

在C语言中有两种编写斐波那契数列程序的方法:

  • 不使用递归的斐波那契数列
  • 使用递归的斐波那契数列

不使用递归的斐波那契数列

以下是在C语言中编写不使用递归的斐波那契数列程序。

#include<stdio.h>

int main() {
    int n1=0, n2=1, n3, i, number;
    printf("请输入要输出的斐波那契数列项数:");
    scanf("%d", &number);
    printf("%d %d", n1, n2); //打印0和1

    for(i=2; i<number; ++i) { //循环从2开始,因为0和1已经被打印
        n3 = n1 + n2;
        printf(" %d", n3);
        n1 = n2;
        n2 = n3;
    }
    return 0;
}

输出:

请输入要输出的斐波那契数列项数:15
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 

使用递归的斐波那契数列

以下是在C语言中使用递归编写斐波那契数列程序。

#include<stdio.h>

void printFibonacci(int n) {
    static int n1=0, n2=1, n3;
    if(n>0) {
        n3 = n1 + n2;
        n1 = n2;
        n2 = n3;
        printf("%d ", n3);
        printFibonacci(n-1);
    }
}

int main() {
    int n;
    printf("请输入要输出的斐波那契数列项数: ");
    scanf("%d", &n);
    printf("斐波那契数列: ");
    printf("%d %d ", 0, 1);
    printFibonacci(n-2); //n-2因为前两个数字已经被打印
    return 0;
}

输出:

请输入要输出的斐波那契数列项数: 15
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 

标签: c语言, c语言教程, c语言技术, c语言学习, c语言学习教程, c语言下载, c语言开发, c语言入门教程, c语言进阶教程, c语言高级教程, c语言面试题, c语言笔试题, c语言编程思想