已知數(shù)據(jù)文件in.dat中存有200個四位數(shù),并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請考生編制一函數(shù)jsval(),其功能是:如果四位數(shù)各位上的數(shù)字均為0或2或4或6或8中的一個數(shù)字,則統(tǒng)計出滿足此條件的個數(shù)cnt,并把這些四位數(shù)按從大到小的順序存入數(shù)組b中。最后main()函數(shù)調(diào)用寫函數(shù)writeDat()把結(jié)果cnt以及數(shù)組b中符合條件的四位數(shù)輸出到0ut.dat文件中。


答案及解析
【審題關(guān)鍵句】各位都是偶數(shù),從大到小排序。
【解題思路】
①首先,本題要定義多個變量,包括兩個循環(huán)變量循環(huán)i、j;用來存放四位數(shù)分解之后各位數(shù)的變量qw(千位)、bw(百位)、SW(十位)和gw(個位);一個用于數(shù)據(jù)交換的整型變量ab。
②通過for循環(huán)依次對數(shù)組中的每個四位數(shù)進行分解,得到每位上的數(shù)字,然后通過if條件語句判斷每位數(shù)是否都為偶數(shù),注意,每個表達式之間的關(guān)系為與運算,即需要同時滿足這4個表達式的數(shù)才符合條件。
③將滿足條件的四位數(shù)賦給數(shù)組b[cnt],同時數(shù)組下標值加1,當(dāng)for循環(huán)執(zhí)行完畢后,則所有滿足條件的四位數(shù)全部存放到數(shù)組b[cnt]中。
④最后通過兩個for循環(huán),對數(shù)組b[cnt]中的元素按從大到小的順序排序,排序過程中,變量ab作為數(shù)據(jù)交換的中間變量。
【參考答案】