习题6-4 使用函数输出指定范围内的Fibonacci数
#include <stdio.h> int fib( int n ); void PrintFN( int m, int n ); int main() { int m, n, t; scanf("%d %d %d", &m, &n, &t); printf("fib(%d) = %d\n", t, fib(t)); PrintFN(m, n); return 0; } int fib( int n ){ if(n==1||n==2) return 1; else return fib(n-1)+fib(n-2); } void PrintFN( int m, int n ){//20 100 7 int flag=1; // 此处应该拿到最小的i值 int count=1; while(fib(count)<m) count++; for(int i = count;fib(i)>=m&&fib(i)<=n;i++){ flag=0; printf("%d",fib(i)); if(fib(i+1)<=n) printf(" "); } if(flag){ printf("No Fibonacci number"); } }