习题6-4 使用函数输出指定范围内的Fibonacci数 (20 分)
生活随笔
收集整理的這篇文章主要介紹了
习题6-4 使用函数输出指定范围内的Fibonacci数 (20 分)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
本題要求實現(xiàn)一個計算Fibonacci數(shù)的簡單函數(shù),并利用其實現(xiàn)另一個函數(shù),輸出兩正整數(shù)m和n(0<m≤n≤10000)之間的所有Fibonacci數(shù)。所謂Fibonacci數(shù)列就是滿足任一項數(shù)字是前兩項的和(最開始兩項均定義為1)的數(shù)列。
函數(shù)接口定義:
int fib( int n ); void PrintFN( int m, int n );其中函數(shù)fib須返回第n項Fibonacci數(shù);函數(shù)PrintFN要在一行中輸出給定范圍[m, n]內的所有Fibonacci數(shù),相鄰數(shù)字間有一個空格,行末不得有多余空格。如果給定區(qū)間內沒有Fibonacci數(shù),則輸出一行“No Fibonacci number”。
我的代碼:
int fib( int n ) {int f;if (n == 1||n == 2)f = 1;else f = fib(n-1)+fib(n-2);return f; } void PrintFN( int m, int n ) {int i = 1,flag = 0;while(fib(i)<=n){if(fib(i)>=m){//flag = 1;if(flag == 0)printf("%d",fib(i));else printf(" %d",fib(i));flag = 1;}i++;}if(flag == 0)printf("No Fibonacci number\n"); }1.指示變量flag有兩個作用,一是判斷是否有Fibonacci數(shù),二是判斷該Fibonacci數(shù)是不是第一次出現(xiàn),如果是,則直接輸出fib(i),否則前面增加一空格再輸出fib(i)。我用這種方法解決“行末不得有多余空”的要求,猜想方法多多,只是我這只小菜雞想不到。
總結
以上是生活随笔為你收集整理的习题6-4 使用函数输出指定范围内的Fibonacci数 (20 分)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: steam方舟多少钱啊?
- 下一篇: 习题6-5 使用函数验证哥德巴赫猜想 (