用c语言写,菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。 给出一个正整数a,要求菲波那契数列中第a个数是多少。 输入格式: 第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1 <= a <= 20) 输出格式: 输出有n行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中第a个数的大小
时间: 2023-12-03 21:46:29 浏览: 287
C语言用递归法计算Fibonacci(斐波拉契)数列的第n项。
以下是用C语言实现求第a个斐波那契数的代码:
```c
#include<stdio.h>
int fib(int n)
{
if(n == 1 || n == 2) // 斐波那契数列的第一个和第二个数都为1
return 1;
else
return fib(n-1) + fib(n-2); // 接下来每个数都等于前面2个数之和
}
int main()
{
int n, a, i;
scanf("%d", &n); // 输入测试数据的组数
for(i = 0; i < n; i++)
{
scanf("%d", &a); // 输入一个正整数a
printf("%d\n", fib(a)); // 输出菲波那契数列中第a个数的大小
}
return 0;
}
```
其中,fib()函数用递归的方式实现了求解斐波那契数列的第n个数的功能。在主函数中,先输入测试数据的组数n,再循环输入每组测试数据,调用fib()函数输出结果。
阅读全文