2009年4月全國計算機等級三級網(wǎng)絡(luò)技術(shù)機試練習習題(1)

字號:

2009年4月全國計算機等級三級考試你準備了沒?考計算機等級三級朋友可以多關(guān)注一下考試大為大家整理的2009年4月全國計算機等級三級網(wǎng)絡(luò)技術(shù)機試練習習題!希望對大家的備考有好的幫助!考試大祝各位考個好成績!大家每天都來練習哦!不斷的加強鞏固!每天都有更新哦!
    調(diào)用函數(shù)rwdata(),從IN.dat文件中讀取10組數(shù)據(jù)(m和k值),并嵌套調(diào)用primenum函數(shù)分別得出array[]數(shù)組。請編寫函數(shù)primenum(int m,int k,int array[]),該函數(shù)的功能是:將緊靠m的k個素數(shù)存入數(shù)組array并在屏幕上顯示。最后把結(jié)果輸出到文件OUT.dat中。
    例如,若輸入3 9,則應(yīng)輸出5 7 11 13 17 19 23 29 31。
    注意:部分程序已經(jīng)給出。請勿改動豐函數(shù)main()和輸出數(shù)據(jù)函數(shù)rwdata()的內(nèi)容。
    
    第1套試題答案及詳解
    【知識點播】素數(shù)的定義:如果一個數(shù)的正因子只有1和這個數(shù)本身,那么這個數(shù)就是素數(shù)。
    【審題分析】分析題目可知,題中需要解決的問題就是Primenum函數(shù)的功能問題(rwdata函數(shù)功能題中已經(jīng)給出),而Primenum函數(shù)的功能是求在指定數(shù)m之后的k個素數(shù),因此本題的關(guān)鍵在于如何判斷一個數(shù)是素數(shù),之后就可以通過一個for循環(huán)來求得在m之后的k個素數(shù)了。
    【解題思路】根據(jù)素數(shù)的定義,本題采用的算法是:首先定義一個變量Value,并把m之后的數(shù)逐個賦值給該變量:然后用2~value/2數(shù)除value,如果value能被2~value/2之中的任何一個整數(shù)整除,則value不是素數(shù),結(jié)束循環(huán);如果value小能被2~value/2之間的任一整數(shù)整除,則退出循環(huán),然后判斷循環(huán)變量i是否大于value/2,如果大于,則value是素數(shù),并將value值賦給array[n],然后n++;再判斷n是否大于等于k,如果大于等于k,就完成了程序要求的功能,退出循環(huán),否則value加1,根據(jù)以上算法繼續(xù)進行。
    
    【易錯分析】判斷一個數(shù)m(大于1)是否素數(shù)的簡單的算法:枚舉2到m/2之間的整數(shù),看能否被m整除,如果能整除,就不是素數(shù),否則是素數(shù)。
    【考點鏈接】c語言中循環(huán)語句、if語句的應(yīng)用和素數(shù)的算法。