首頁 - 網校 - 萬題庫 - 直播 - 雄鷹網校 - 團購 - 書城 - 模考 - 學習通 - 導航 -
首頁網校萬題庫直播雄鷹網校團購書城?論壇實用文檔作文大全寶寶起名
2015中考
法律碩士
2015高考
MBA考試
2015考研
MPA考試
在職研
中科院
考研培訓
專升本
自學考試 成人高考
四 六 級
GRE考試
攻碩英語
零起點日語
職稱英語
口譯筆譯
申碩英語
零起點韓語
商務英語
日語等級
GMAT考試
公共英語
職稱日語
新概念英語
專四專八
博思考試
零起點英語
托?荚
托業(yè)考試
零起點法語
雅思考試
成人英語三級
零起點德語
等級考試
華為認證
水平考試
Java認證
職稱計算機 微軟認證 思科認證 Oracle認證 Linux認證
公 務 員
導游考試
物 流 師
出版資格
單 證 員
報 關 員
外 銷 員
價格鑒證
網絡編輯
駕 駛 員
報檢員
法律顧問
管理咨詢
企業(yè)培訓
社會工作者
銀行從業(yè)
教師資格
營養(yǎng)師
保險從業(yè)
普 通 話
證券從業(yè)
跟 單 員
秘書資格
電子商務
期貨考試
國際商務
心理咨詢
營 銷 師
司法考試
國際貨運代理人
人力資源管理師
廣告師職業(yè)水平
衛(wèi)生資格 執(zhí)業(yè)醫(yī)師 執(zhí)業(yè)藥師 執(zhí)業(yè)護士
會計從業(yè)資格
基金從業(yè)資格
統(tǒng)計從業(yè)資格
經濟師
精算師
統(tǒng)計師
會計職稱
法律顧問
ACCA考試
初級會計職稱
資產評估師
高級經濟師
注冊會計師
高級會計師
美國注冊會計師
審計師考試
國際內審師
注冊稅務師
理財規(guī)劃師
一級建造師
安全工程師
設備監(jiān)理師
公路監(jiān)理師
公路造價師
二級建造師
招標師考試
物業(yè)管理師
電氣工程師
建筑師考試
造價工程師
注冊測繪師
質量工程師
巖土工程師
注冊給排水
造價員考試
注冊計量師
環(huán)保工程師
化工工程師
暖通工程師
咨詢工程師
結構工程師
城市規(guī)劃師
材料員考試
消防工程師
監(jiān)理工程師
房地產估價
土地估價師
安全評價師
房地產經紀人
投資項目管理師
環(huán)境影響評價師
土地登記代理人
寶寶起名
繽紛校園
實用文檔
入黨申請
英語學習
思想匯報
作文大全
工作總結
求職招聘 論文下載 直播課堂
您現在的位置: 考試吧 > 計算機等級考試 > 計算機三級考試 > 信息管理 > 上機題庫 > 正文

2006年計算機三級上機題庫練習及答案(3)

本系列資料由"韜略宏智" 授權發(fā)布,任何網站不得轉載,否則追究法律責任。

第5題:

   編寫函數jsValue(),它的功能是:求Fibonacci數列中大于t的最小一個數,結果由函數返回。其中Fibonacci數列F(n)的定義為:
F(0)=0,F(1)=1
F(n)=F(n-1)+F(n-2)
最后調用函數writeDat()讀取50個數據t,分別得出結果且把結果輸出到文件out5.dat中。


例如:當t=1000時,函數值為:1597。
部分程序已經給出。
請勿改動主函數main()和寫函數writeDat()的內容。
#include<stdio.h>
int jsValue(int t)
{
 
}
main()
{int n;
n=1000;
printf("n=%d,f=%d\n",n,jsValue(n));
writeDat();
}
writeDat()
{
FILE *in,*out;
int i,n,s;
in=fopen("in5.dat","r");
out=fopen("out5.dat","w");
for(i=0;i<50;i++)
{
fscanf(in,"%d",&n);
s=jsValue(n);
printf("%d\n",s);
fprintf(out,"%d\n",s);
}
fclose(in);
fclose(out

本系列資料由"韜略宏智" 授權發(fā)布,任何網站不得轉載,否則追究法律責任。

第5題:

   編寫函數jsValue(),它的功能是:求Fibonacci數列中大于t的最小一個數,結果由函數返回。其中Fibonacci數列F(n)的定義為:
F(0)=0,F(1)=1
F(n)=F(n-1)+F(n-2)
最后調用函數writeDat()讀取50個數據t,分別得出結果且把結果輸出到文件out5.dat中。


例如:當t=1000時,函數值為:1597。
部分程序已經給出。
請勿改動主函數main()和寫函數writeDat()的內容。
#include<stdio.h>
int jsValue(int t)
{
 
}
main()
{int n;
n=1000;
printf("n=%d,f=%d\n",n,jsValue(n));
writeDat();
}
writeDat()
{
FILE *in,*out;
int i,n,s;
in=fopen("in5.dat","r");
out=fopen("out5.dat","w");
for(i=0;i<50;i++)
{
fscanf(in,"%d",&n);
s=jsValue(n);
printf("%d\n",s);
fprintf(out,"%d\n",s);
}
fclose(in);
fclose(out);
}

【答案】
int jsValue(int t)
{
int f1=0,f2=1,fn;
fn=f1+f2;
while(fn<=t)
{
f1=f2;
f2=fn;
fn=f1+f2;
}
return fn;
}
【解析】
考點:(1)求解Fibonacci數列的第n項的值;
(2)查找滿足條件的Fibonacci數列的第n項值。
本題的解題思路是:從第一項開始,逐個求出Fibonacci數列的每一項的值并且與給定的數據相比較,若找到第一個大于給定的數據則將其返回。
程序的流程是:先調用jsValue(n)函數處理數據,由writeDat()函數將數據寫回文件out5.dat中。
在jsValue()函數中,根據題目的條件,Fibonacci數列中每一項的值均為前兩項之和,將Fibonacci數列的每一項都初始化,然后通過while循環(huán)的條件進行判斷,當fn<=t時,即第n項的值小于1000,進入while循環(huán)體,計算fn的值,每計算一個fn的值就與t相比較一次,直到fn>t即找到大于t的最小的一個數,循環(huán)結束,該層while循環(huán)的功能就是查找比t大的fn的值,while循環(huán)結束后,利用return語句返回fn的值,函數結束。

文章搜索
版權聲明:如果計算機等級考試網所轉載內容不慎侵犯了您的權益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉載本計算機等級考試網內容,請注明出處。
Copyright © 2004- 考試吧計算機等級考試網 All Rights Reserved 
中國科學院研究生院權威支持(北京)
在線模擬試題
考證通關殺器
考試最新資訊
一次通關技巧