C语言实现斐波那契数列


对于斐波那契数列,其下一个数字是前两个数字的和,例如:0、1、1、2、3、5、8、13、21等等;斐波那契数列的前两个数为0和1;使用C语言实现斐波那契数列的方法有两种,递归和无递归;

无递归的C语言实现方法

不使用递归的C语言示例源码:

#include <stdio.h>

int main(){
    int n1=0,n2=1,n3,i,number;
    printf("Enter the number of elements:");
    scanf("%d",&number);
    printf("\n%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;
}

程序运行效果如下:

C语言实现斐波那契数列

使用递归的C语言实现方法

使用递归的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("Enter the number of elements: ");
    scanf("%d",&n);
    printf("Fibonacci Series: ");
    printf("%d %d ",0,1);
    printFibonacci(n-2);//n-2 因为已经打印了2个数
    return 0;
}

如需转载,请注明出处;本文地址:https://www.perfcode.com/p/fibonacci-series-in-c.html