計算機三級《數據庫技術》上機題庫及答案

已知數據文件中存有300個四位數,並已調用讀函數readDat()把這些數存入數組a中,請編制一函數jsValue(),其功能是:求出所有這些四位數是素數的個數cnt,再把所有滿足此條件的四位數依次存入數組b中,然後對數組b的四位數按從小到大的順序進行排序。最後main()i函數調用寫函數writeDat()把數組b中的`數輸出到文件中。

計算機三級《數據庫技術》上機題庫及答案

例如:5591是素數,則該數滿足條件存入數組b中,且個數cnt=cnt+1。

9812是非素數,則該數不滿足條件忽略。

注意:部分源程序存在test.C文件中。

程序中已定義數組:a[300],b[300],已定義變量:cnt

  [答案及解析]

【審題關鍵句】求素數的個數,存入數組,按從小到大的順序排序。

  【解題思路】

①首先定義兩個循環變量循環i、j和一個用於數據交換的整型變量tmp。

②通過for循環依次讀取數組中的300個數,其中,循環變量i從0開始每次加1,直到i<300停止循環;在每次循環中判斷a[i]是否是素數,如果是素數,則把a[i]的值賦給數組b[cnt],同時數組下標變量cnt值加1。

③在退出循環後,用兩個for循環對數組b[]中元素進行兩兩比較,實現數組元素從小到大的排序,比較過程中通過整型變量tmp實現兩個數的交換。

  【參考答案】