输出[m,n]范围内的所有斐波那契(Fibonacci)数,m,n这两个数由键盘输入。
【提示】
1,1,2,3,5,8,13,21,34,……这是斐波那契(Fibonacci)数列的前几项。斐波那契数列的特点:前两项均为1,后面任意一项都是其前面两项之和。
本实验虽然只要求输出在[m,n]范围内的斐波那契数,但是依然需要从第1个Fibonacci数开始依次得到下一个,并判断是否是需要输出的那个。
用一维数组的?怎么写 要有一维数组
输入 1 3,怎么让他 结果是 1 2 3
#include <stdio.h>
int main()
{
int f[100];
int m, n, i;
f[0] = 1; f[1] = 1;
scanf("%d,%d", &m, &n);
for (i = 2; i < 100; i++)
{
f[i] = f[i - 1] + f[i - 2];
if(f[i]>n){
break;
}
}
for (i=0; f[i]<=n; i++){
if(m<=f[i]&&f[i]<=n){
printf("%d ",f[i]);
}
}
return 0;
}