第 1 頁:程序填空題 |
第 2 頁:程序修改題 |
第 3 頁:程序設計題 |
一、程序填空題
1 [填空題]
函數fun的功能是:將一副撲克牌編號為1,2,3,…,53,54,以某種特定的方式洗牌,這種方式是將這副牌分成兩半,然后將它們交叉,并始終保持編號為1的牌在最上方,如第一次這樣洗牌后的結果為:1,28,2,29,…,53,27,54。兩次洗牌后的結果為:1,41,28,15,2,42…,53,40,27,14,54。
程序的功能是:輸出經過n次這樣洗牌后的結果。
請在程序的下畫線處填入正確的內容,并把下畫線刪除,使程序得出正確的結果。
注意:源程序存放在考生文件夾下的BLANK1.C中。不得增行或刪行,也不得更改程序的結構!
試題程序:
參考解析:
【參考答案】 (1)b (2)2 (3)b[k]
【解題思路】
填空1:for循環中使用了一個數組b.用來臨時存放交換位置后的撲克牌,C語言中變量需要先聲明后使甩,所以填空(1)處需要聲明一個數組b。答案為b。
填空2:第二個for循環是將數組a中前一半元素(即1~27編號的撲克牌)放人數組b的奇數位置,將數組a中的后一半元素(即28~54編號的撲克牌)放人數組b的偶數位置,實現撲克牌的交叉洗牌。所以填空(2)處是數組b的起始值為2的偶數下標2k,答案為2。
填空3:由于數組b屬于函數中的臨時變量,所以將數組a的元素交叉存儲到數組b后,還需要將數組b的元素依次賦值給數組a,第三個for循環實現的功能是將數組b賦值給數組a,所以填空(3)處需要填入對應下標為k的數組b的元素,答案為b[k]。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關推薦: