當前位置:才華齋>計算機>計算機三級>

2016年3月計算機三級《資料庫技術》上機題庫及答案

計算機三級 閱讀(2.6W)

已知資料檔案中存有200個四位數,並已呼叫讀函式readDat()把這些數存入陣列a中,請考生編制一函式jsVa(),其功能是:把千位數字和十位數字重新組成一個新的含有兩位數字的數ab(新數的十位數字是原四位數的千位數字,新數的個位數字是原四位數的十位數字),以及把個位數字和百位數字組成另一個新的含有兩位數字的數cd(新數的十位數字是原四位數的個位數字,新數的個位數字是原四位數的百位數字),如果新組成的兩個數ab- cd>=0且<=10且兩個數均是奇數,同時兩個新數的十位數字均不為零,則將滿足此條件的四位數按從大到小的順序存入陣列b中,並要計算滿足上述條件的四位數的個數cnt。最後main()函式呼叫寫函式writcDat()把結果cnt以及陣列b中符合條件的四位數輸出到檔案 中。

2016年3月計算機三級《資料庫技術》上機題庫及答案

  [答案及解析]

【審題關鍵句】千位+十位組合與個位+百位組合,都是奇數,兩數相減結果大於等於0小於等於10,從大到小排序。

  【解題思路】

①首先,本題要定義多個變數,包括兩侖迴圈變數迴圈i、j;用來存放四位數分解之後各位數的變數qw(千位)、bw(百位)、SW(十位)和gw(個位);兩個用來存放重新組合數字的.變數newV1和newV2。

②通過for迴圈依次對陣列中的每個四位數進行分解,每分解一個四位數,根據題目要求,對其各位數進行重新組合,形成兩個新的十位數,組合條件分別是原四位數的千位和十位組成一個十位數,個位和百位組成一個十位數,並將兩個新的十位數分別賦給變數newV1和newV2。

③數字重組完畢之後,再根據題目要求篩選滿足條件的四位數,本題需要考慮多個篩選條件:一是新組合的十位數中,其十位數不能為0,即原四位數的千位和個位數字不能為0;二是兩個新組合的十位數之差必須大於等於0小於等於10;三是兩個新組合的數字均為奇數。

④將同時滿足以上3個條件的四位數賦給陣列b[cnt],同時陣列下標值加1,當for迴圈執行完畢後,則將所有滿足條件的四位數全部存放到陣列b[cnt]qb。

⑤最後通過兩個for迴圈,對陣列b[cnt]中的元素按從大到小的順序排序,排序過程中,可用newV1或newV2作為資料交換的中間變數。

  【參考答案】