C语言实现斐波那契数列

简介: C语言实现斐波那契数列

斐波那契数列是一个著名的递归序列,通常定义为:从第三项开始,每一项都等于前两项之和。在C语言中,我们可以使用循环结构来计算指定位置的斐波那契数`:

1. 变量实现

#include <stdio.h>

int main() {
    // 定义要计算的斐波那契数列项的位置
    int targetPosition = 20;

    // 初始化斐波那契数列的前两项
    int previousFibonacci = 0;
    int currentFibonacci = 1;
    int nextFibonacci; // 存储下一项的临时变量

    // 循环直到达到目标位置(包含目标位置)
    for (int i = 2; i <= targetPosition; ++i) {
        // 计算下一项
        nextFibonacci = previousFibonacci + currentFibonacci;

        // 更新前两项的值
        previousFibonacci = currentFibonacci;
        currentFibonacci = nextFibonacci;
    }

    // 输出第targetPosition项的斐波那契数
    printf("%d\n", currentFibonacci);

    return 0; // 修改返回值为0表示程序正常结束
}

我们将目标位置变量命名为 targetPosition,并初始化斐波那契数列的前两项为0和1。通过 nextFibonacci 变量存储即将更新的当前项。

2. 数组实现

#include <stdio.h>

int main() {
    int sequence_length = 10;
    int fibonacci_sequence[sequence_length];
    fibonacci_sequence[0] = fibonacci_sequence[1] = 1;

    for (int current_index = 2; current_index < sequence_length; ++current_index) {
        fibonacci_sequence[current_index] = fibonacci_sequence[current_index - 1] + fibonacci_sequence[current_index - 2];
    }

    printf("%d", fibonacci_sequence[sequence_length - 1]);

    // 程序正常结束,返回0
    return 0;
}

3. 递归实现

#include <stdio.h>

int fib(int n){
    if(n==1||n==2)return 1;
    return fib(n-1)+ fib(n-2);
}

int main() {
    printf("%d", fib(10));
    // 程序正常结束,返回0
    return 0;
}


相关文章
|
算法 C语言
斐波那契数列C语言版划重点,小白必看
斐波那契数列C语言版划重点,小白必看
|
存储 C语言
C语言输出斐波那契数列
C语言输出斐波那契数列
142 0
|
C语言
【C语言实现求斐波那契数列的第n位】
【C语言实现求斐波那契数列的第n位】
123 0
|
8月前
|
存储 C语言
【C语言程序设计——函数】递归求斐波那契数列的前n项(头歌实践教学平台习题)【合集】
本关任务是编写递归函数求斐波那契数列的前n项。主要内容包括: 1. **递归的概念**:递归是一种函数直接或间接调用自身的编程技巧,通过“俄罗斯套娃”的方式解决问题。 2. **边界条件的确定**:边界条件是递归停止的条件,确保递归不会无限进行。例如,计算阶乘时,当n为0或1时返回1。 3. **循环控制与跳转语句**:介绍`for`、`while`循环及`break`、`continue`语句的使用方法。 编程要求是在右侧编辑器Begin--End之间补充代码,测试输入分别为3和5,预期输出为斐波那契数列的前几项。通关代码已给出,需确保正确实现递归逻辑并处理好边界条件,以避免栈溢出或结果
343 16
|
11月前
|
算法 C语言
【C语言】斐波那契数列细讲
【C语言】斐波那契数列细讲
164 1
|
机器学习/深度学习 C语言
斐波那契数列(用c语言探索黄金分割之美)
斐波那契数列(用c语言探索黄金分割之美)
166 0
|
算法 搜索推荐 程序员
C语言第三十一练——递归求解n位斐波那契数列
C语言第三十一练——递归求解n位斐波那契数列
98 0
C语言二十三弹---求第N项斐波那契数列的值
C语言二十三弹---求第N项斐波那契数列的值
|
C语言
C 语言实例 - 斐波那契数列
C 语言实例 - 斐波那契数列。
136 0
|
C语言
斐波那契数列【C语言实现】
斐波那契数列【C语言实现】
392 4