C语言 数组 斐波那契数列
发布网友
发布时间:2022-05-02 07:16
我来回答
共1个回答
热心网友
时间:2023-10-11 00:49
#include "stdafx.h" //这是 VS 预编译头。其他系统删除。
#include<stdio.h>
#include<stdlib.h> //使用 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;
}追问不不不。不是这种。那个输入是【敲3回车。再敲2回车出来结果1。再回车敲10回车出来结果55。再回车敲30出来结果832040】的这种。3是可以改的。。请问这种的您知道么??
追答//将以下程序段
for (i = 0; i < k; i++)
{
scanf("%d", &d[i]);
}
for (i = 0; i < k; i++)
{
printf("%d\n", Fibonacci(d[i]));
}
//改成
for (i = 0; i < k; i++)
{
scanf("%d", &d[i]);
printf("%d\n", Fibonacci(d[i]));
}