C语言 数组 斐波那契数列

问题:斐波那契数列的定义为:F1=1,F2=1,F(n)=F(n-2)+F(n-1)请输出斐波那契数列的前n项。输入:第1行的整数T表示测试数据的组数,后有T行测试数据,每行包含一个正整数n(n<=40)。输出:对于每组测试数据,输出对应的F(n),每组单独占一行。样例输入:321030样例输出:155832040麻烦用数组QAQ。数组这节没怎么听懂。。。
2026年09月25日 19:33
有1个网友回答
网友(1):

#include "stdafx.h" //这是 VS 预编译头。其他系统删除。
#include
#include //使用 system("pause"); 时需要。
//MS 否决了 scanf 等函数,加上下句,仍然可用。其他系统删除。
#pragma warning(disable:4996)

//问题:斐波那契数列的定义为: F1=1,F2=1,F(n)=F(n-2)+F(n-1)
int Fibonacci(int n)
{
if (n == 1)
return 1;
if (n == 2)
return 1;
return Fibonacci(n - 2, f1, f2) + Fibonacci(n - 1, f1, f2);
}

// VS 标准主函数声明,其他系统请根据系统更改。
int _tmain(int argc, _TCHAR* argv[])
{
int i, k, d[40];
scanf("%d", &k);
for (i = 0; i < k; i++)
{
scanf("%d", &d[i]);
}
for (i = 0; i < k; i++)
{
printf("%d\n", Fibonacci(d[i]));
}

system("pause"); //防止窗口一闪而过
return 0;
}