免費開始練習
地特四等申論題 109年 [資訊處理] 程式設計概要

第 三 題

三、請使用 C 程式語言撰寫一猜數字遊戲程式,此程式必須滿足下列規定:(25分)  撰寫一函式 int Randomize(int n),可回傳一個隨機產生介於 1 到 n 間(包含 1 與 n)的正整數,此正整數即為此遊戲的答案。  利用上述函式實作一猜數字遊戲,此遊戲開始時先讓使用者輸入此猜數字遊戲的最大值,程式須確認使用者所輸入的數值必須大於 20。  使用者每次猜答時,程式必須顯示出是第幾次的猜答。  使用者每次輸入後,程式必須顯示結果,如果猜錯時,程式必須依使用者的輸入值縮小範圍;當猜對時,就顯示『恭喜你猜對了!』。  當使用者猜答次數超過 10 次仍未猜中答案時,程式就必須結束使用者的猜答,並顯示出正確答案。 程式執行範例如下: 請輸入答案的可能最大值(至少必須大於20):15 輸入錯誤!15沒有大於20,請重新輸入! 請輸入答案的可能最大值(至少必須大於20):30 第1次猜答:15 結果為:猜錯了,答案介於 15 與 30 之間! 第2次猜答:23 結果為:猜錯了,答案介於 15 與 23 之間! 第3次猜答:19 結果為:猜錯了,答案介於 15 與 19 之間! 第4次猜答:17 結果為:猜錯了,答案介於 17 與 19 之間! 第5次猜答:18 結果為:恭喜你猜對了! 請按任意鍵繼續 . . .
📝 此題為申論題

思路引導 VIP

看到本題,應先確立亂數產生機制(需引入 stdlib.h 與 time.h,並以時間作為亂數種子)。其次,運用 do-while 迴圈處理輸入驗證(確保 n > 20),並以 for 迴圈控制最多 10 次的猜測邏輯,過程中需利用條件判斷式動態更新並輸出猜測的上下界範圍。

🤖
AI 詳解 AI 專屬家教

【解題關鍵】本題測驗 C 語言的亂數生成(rand()srand())、防呆輸入驗證(do-while 迴圈)、以及控制流程(動態更新變數範圍與次數限制)的綜合實作能力。 【程式碼實作】

▼ 還有更多解析內容

升級 VIP 解鎖