2015年計算機等級考試《數據庫技術》試題及答案

已知數據文件中存有200個四位數,並已調用讀函數readDat()把這些數存入數組a中,請考生編制一函數jsVal(),其功能是:從數組a中依次取出一個四位數,對每一個四位數作如下處理:把個位數字和千位數字重新組成一個新的含有兩位數字的數(新數的十位數字是原四位數的個位數字,新數的個位數字是原四位數的千位數字),以及把百位數字和十位數字組成另一個新的含有兩位數字的數(新數的十位數字是原四位數的百位數字,新數的個位數字是原四位數的十位數字),如果兩個新組成數:一個是奇數,另一個爲偶數,並且至少有一個數能被17整除,同時兩個新數的十位數字均不爲零,則將滿足此條件的四位數存入數組b中,並計算滿足上述條件的四位數的個數cnt,而後對數組b進行降序排序。最後main()函數調用寫函數writeDat()把結果cnt以及數組b中符合條件的四位數輸出到文件中。

2015年計算機等級考試《數據庫技術》試題及答案

例如:一個四位數爲4512,依題意組成的第一個新數爲24,第二個新數爲51,其中51能被17整除,這兩個新數的十位數字不爲零,則4512這個四位數滿足題意所規定條件。

  答案及解析

【審題關鍵句】個位+於位與百位+十位,奇數,偶數,整除,從大到小排序。

  【解題思路】

本題類似第24套試題,通過審題可以發現主要是對四位數的篩選條件有所不同,體現在兩個方面:①分解後重新組合成十位數的'方式不同,參考答案的第8、9條語句重新指定兩位數的組合方式;②新組合的兩位數的奇偶性判斷及整除判斷,參考答案的第10條語句。

本題第10條語句中各條件表達式之間的關係有些複雜,大致思路是:①首先判斷新組合的兩位數的十位不爲0,即表達式“gw&&bw”;②再判斷新組合的第一個兩位數爲偶數,第二個兩位數爲奇數,且兩個兩位數中至少有一個能被17整除的情況,兩個整除關係表達式式要用或運算符(11)連接,且用括號括起來先計算或運算,再與奇偶性判斷表達式進行與運算;③最後,在判斷新組合的第一個兩位數爲奇數,第二個兩位數爲偶數,且兩個兩位數中至少有一個能被17整除的情況(各表達式之間的連接關係同第2步)。完成以上3部分的表達式設計後,再通過與運算將3部分表達式連接起來。

  【參考答案】