以下是用C语言实现输出m~n之间所有的Fibonacci数的代码:

#include <stdio.h>

int fib(int n) {
    if (n <= 2) {
        return 1;
    } else {
        int a = 1;
        int b = 1;
        int result = 0;
        
        for (int i = 3; i <= n; i++) {
            result = a + b;
            a = b;
            b = result;
        }
        
        return result;
    }
}

int main() {
    int m, n;

    printf("请输入两个正整数(m 和 n,m ≥ 1,n ≤ 10000):");
    scanf("%d %d", &m, &n);

    printf("m~n之间的Fibonacci数有:\n");
    int i = 1;
    int fibNum = fib(i);
    while (fibNum <= n) {
        if (fibNum >= m) {
            printf("%d\n", fibNum);
        }
        i++;
        fibNum = fib(i);
    }

    return 0;
}

首先,我们定义了一个名为fib的函数,接受一个整数参数n。在函数内部,我们使用迭代的方式计算第n项的Fibonacci数。当n小于等于2时,直接返回1。否则,我们使用两个变量ab分别表示前两项,然后使用一个循环从第3项开始计算Fibonacci数,每次将前两项的和存储在result中,并更新ab的值。最后,返回result值。

main函数中,我们声明了两个整数变量mn,用于存储用户输入的范围。使用printf函数提示用户输入两个正整数,并使用scanf函数将输入值存储在mn中。

然后,我们使用迭代的方式逐个计算Fibonacci数,从第1项开始,直到计算得到的Fibonacci数大于n为止。我们通过调用fib函数来获取每一项的Fibonacci数,并判断是否在m~n的范围内。如果是,则使用printf函数输出该Fibonacci数。

编译并运行代码,你将能够输入两个正整数,然后输出m~n之间所有的Fibonacci数。输出结果将逐行显示Fibonacci数。

C语言实现输出m~n之间所有的Fibonacci数

原文地址: http://www.cveoy.top/t/topic/bkXX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录