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

分类: 计算机技术
推荐阅读:
Rust实现冒泡排序算法(Bubble Sort) 本文将使用Rust语言实现冒泡排序算法;
C语言使用fork()系统调用创建子进程 有些时候,创建多个子进程可用于提高任务处理效率或提高程序的并发性;在Linux系统下可使用fork()系统调用创建一个新的子进程;
Python 生成UUID 在Python中,可以使用uuid模块生成UUID。默认情况下,uuid.uuid4()函数会生成一个随机UUID。
查询Linux系统是哪个发行版 在Linux系统下,如果你想知道当前系统是哪一个发行版,你可以使用一条命令实现查询:
Golang中的数组切片 数组切片和数组在Go语言中不是同一种数据类型,但他们很相似,区别是数组只能是固定长度,而数组切片可灵活的改变长度。
Rust中unwrap和expect的区别 在 Rust 中,unwrap() 和 expect() 是 Option 和 Result 类型(也可能是其他类型)提供的方法,用于从这些类型中获取包含的值。它们的区别在于如何处理潜在的错误。