C语言实现输出m~n之间所有的Fibonacci数
以下是用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。否则,我们使用两个变量a和b分别表示前两项,然后使用一个循环从第3项开始计算Fibonacci数,每次将前两项的和存储在result中,并更新a和b的值。最后,返回result值。
在main函数中,我们声明了两个整数变量m和n,用于存储用户输入的范围。使用printf函数提示用户输入两个正整数,并使用scanf函数将输入值存储在m和n中。
然后,我们使用迭代的方式逐个计算Fibonacci数,从第1项开始,直到计算得到的Fibonacci数大于n为止。我们通过调用fib函数来获取每一项的Fibonacci数,并判断是否在m~n的范围内。如果是,则使用printf函数输出该Fibonacci数。
编译并运行代码,你将能够输入两个正整数,然后输出m~n之间所有的Fibonacci数。输出结果将逐行显示Fibonacci数。
原文地址: http://www.cveoy.top/t/topic/bkXX 著作权归作者所有。请勿转载和采集!