2016年計(jì)算機(jī)三級(jí)《數(shù)據(jù)庫(kù)技術(shù)》上機(jī)考試試題及答案4

字號(hào):

第4套 上機(jī)考試試題
    已知數(shù)據(jù)文件in.dat中存有300個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請(qǐng)編制一函數(shù)jsValue(),其功能是:求出所有這些四位數(shù)是素?cái)?shù)的個(gè)數(shù)cnt,再把所有滿足此條件的四位數(shù)依次存入數(shù)組b中,然后對(duì)數(shù)組b的四位數(shù)按從小到大的順序進(jìn)行排序。最后main()i函數(shù)調(diào)用寫函數(shù)writeDat()把數(shù)組b中的數(shù)輸出到0ut.dat文件中。
    例如:5591是素?cái)?shù),則該數(shù)滿足條件存入數(shù)組b中,且個(gè)數(shù)cnt=cnt+1。
    9812是非素?cái)?shù),則該數(shù)不滿足條件忽略。
    注意:部分源程序存在test.C文件中。
    程序中已定義數(shù)組:a[300],b[300],已定義變量:cnt
    
    

答案及解析
    【審題關(guān)鍵句】求素?cái)?shù)的個(gè)數(shù),存入數(shù)組,按從小到大的順序排序。
    【解題思路】
    ①首先定義兩個(gè)循環(huán)變量循環(huán)i、j和一個(gè)用于數(shù)據(jù)交換的整型變量tmp。
    ②通過for循環(huán)依次讀取數(shù)組中的300個(gè)數(shù),其中,循環(huán)變量i從0開始每次加1,直到i<300停止循環(huán);在每次循環(huán)中判斷a[i]是否是素?cái)?shù),如果是素?cái)?shù),則把a(bǔ)[i]的值賦給數(shù)組b[cnt],同時(shí)數(shù)組下標(biāo)變量cnt值加1。
    ③在退出循環(huán)后,用兩個(gè)for循環(huán)對(duì)數(shù)組b[]中元素進(jìn)行兩兩比較,實(shí)現(xiàn)數(shù)組元素從小到大的排序,比較過程中通過整型變量tmp實(shí)現(xiàn)兩個(gè)數(shù)的交換。
    【參考答案】