2016計算機三級網絡技術上機題及答案
編寫函數jsValue(),它的功能是求Fibonacci數列中大於t的最小的一個數,結果由函數返回,其中Fibonacci數列F(n)的定義為:
F(0)=0,F(1)=1
F(n)=F(n-1)+F(n-2)
最後調用函數writeDat(),把結果輸出到文件中。
例如:當t = 1000時,函數值為1597。
注意:部分源程序已給出。
請勿改動主函數main()和寫函數WriteDat()的內容。
試題程序:
#include
void writeDat();
int jsValue(int t)
{
}
void main()
{
int n;
n=1000;
printf("n=%d, f=%dn", n, jsValue(n));
writeDat();
}
void writeDat()
{
FILE *out;
int s;
out = fopen("", "w");
s = jsValue(1000); printf("%d",s);
fprintf(out, "%dn", s);
fclose(out);
}
【答案】
int jsValue(int t)
{
int f1=0,f2=1,fn; /*定義變量存儲Fibonacci數,初始化數列的前兩項*/
fn=f1+f2; /*計算下一個Fibonacci數*/
while(fn<=t)>
{
f1=f2;
f2=fn;
fn=f1+f2;
}
return fn; /*返回Fibonacci數列中大於t的最小的.一個數*/
}
【解析】解答本題的關鍵是要充分理解題意,只有理解了題意本身的數學過程,才能把數學過程轉化為程序邏輯。根據已知數列,我們不難發現:在 Fibonacci數列中,從第三項開始,每一項都可以拆分為前兩項之和。本題要求找到該數列中"大於t的最小的一個數"。這裏可以藉助一個while循環來依次求數列中的數,直到出現某一項的值大於t,那麼這一項就是"大於t的最小的一個數"。
-
計算機三級數據庫技術備考習題及答案2017
想提高計算機等級考試成績平時就要多做練習,積累做題方法和技巧,提高做題速度。以下是本站小編整理的2017計算機三級數據庫技術備考習題及答案,歡迎學習!備考習題一(1)在數據通信中使用曼徹斯特編碼的主要原因是_____。A)實現對通信過程中傳輸錯誤的恢復B)實現對...
-
9月全國計算機等級考試三級《數據庫技術》筆試真題
一、選擇題(每小題1分,共60分)下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的。請將正確選項塗寫在答題卡相應位置上,答在試卷上不得分。(1)計算機軟件分為系統軟件和應用軟件兩大類,其中處於系統軟件核心地位的是A)操作系統B)編譯程序C)數據庫管理系統D)...
-
2017計算機三級軟件測試技術複習題及答案
很多時候計算機等級證書是我們找工作的敲門磚,因此,計算機等級證書也是有一定的含金量的。以下是小編為大家整理的2017計算機三級軟件測試技術複習題及答案,希望對大家有幫助!一、單項選擇題1.在LINUX系統中,下列哪一個命令屬於目錄管理的常用命令?答案:()2.軟件測...
-
2016計算機三級考試網絡技術衝刺題
2016年全國計算機等級考試時間為3月26日-29日,為了幫助大家順利通過計算機三級考試,下面本站小編為大家帶來2016計算機三級考試網絡技術衝刺題,供大家參考學習,預祝考生備考成功!1.已知數據文件中存有200個4位數,並已調用讀函數readDat()把這些數存入數組a中。請編...