int fib (int n)
{
int i,a=1,b=1,t,count=2;
if (n > 2){
while (count != n){
t = a;
a = b;
b = t+b;
count ++;
}
}
return b;
}
void PrintFN (int m, int n)
{
int i,count=0,a=1,b=1,t;
while (b <= n){
if (b >= m){
if (b == 1) //若范围从 1 开始,应多输出一个 1
printf("1 ");
if (count == 0 ){
printf("%d", b);
}
else
printf(" %d",b);
count ++;
}
t = a;
a = b;
b = t+b;
}
if (count == 0)
printf("No Fibonacci number");
}
思路大概是先从头开始找斐波拉契数字,若符合m到n的范围,则输出。
代码和思路不是很完美,有点冗杂。欢迎大家改进!