据我所知,这看起来应该管用。
前两个元素设置为1(忽略前0)。for循环应该在数组中循环,因为fibonacci数等于两个前面的数字之和,所以我想添加它们,然后显示它们。
输出都是2,我不太清楚为什么。
注:我不是在直接寻找答案,而是一种我自己能找到答案的方法。
//Fibonacci sequence
#include <stdio.h>
int main(void) {
int fib_numbers[40] = {1, 1}, i;
for(i = 1; i < 40; i++) {
fib_numbers[i] = fib_numbers[i] + fib_numbers[i - 1];
printf("\t%d\n", fib_numbers[i]);
}
return 0;
}
最佳答案
在第一步之后,erray元素为0(未初始化,但在本例中为0)。那怎么办
fib[i+1]=fib[i]+fib[i-1];printf(“%d\n”,fib[i+1])?
当然,fib的大小必须是41而不是40。
关于c - 我如何正确地使此循环显示斐波那契数列的前40位?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5450670/