免費開始練習
高考申論題 111年 [資訊處理] 程式設計

第 三 題

請使用 C, C++, Java 或 Python 程式語言撰寫採用五位數整數來進行資料加密的完整程式。(30 分) 1.撰寫加密函數 encrypt(),此函數可將所傳入的五位數整數進行加密,並將加密後的密碼傳回。加密的規則如下:  先將該五位數整數的每位數值分別以「加 5 後除以 10 之餘數」取代。  再將取代後之數字的第一位數與第五位數互換,第二位數與第四位數互換,第三位數不變後取得一個新整數,此即為加密後的密碼。(註:第一位數為萬分位、第二位數為千分位,以此類推。) 2.撰寫解密函數 decipher(),此函數可將所傳入的五位數密碼進行解密,並將解密後的整數傳回。解密的規則是將上述加密後之密碼還原為原傳入的整數。 3.撰寫主程式來驗證上述之加密與解密函數的正確性。程式一開始先讓使用者輸入任一之五位數整數[不在合理範圍內(10000~99999)須請使用者重新輸入],在呼叫加密函數後將所傳回之密碼從螢幕上顯示出;再將該密碼傳入解密函數,再將所傳回之整數從螢幕上顯示出。程式須可讓使用者持續輸入五位數之整數,直到使用者輸入 0(整數)時結束程式的執行。 以下為程式執行的範例:(備註:斜體加外框線之整數為使用者所輸入,其餘皆為程式執行的輸出。) 請輸入一個五位數的整數(輸入 0 結束程式):1234 所輸入的數值並不是五位數之整數 請重新輸入:12345 加密後的密碼為:09876 解密後的密碼為:12345 請輸入一個五位數的整數(輸入 0 結束程式):67890 加密後的密碼為:54321 解密後的密碼為:67890 請輸入一個五位數的整數(輸入 0 結束程式):0 感謝使用此程式,歡迎您對此程式的優化提出建議。
📝 此題為申論題

思路引導 VIP

看到本題,這是一道完整的程式實作題。首先,需拆解三個核心功能:

  1. 加密邏輯:數學轉換 (digit + 5) % 10。接著是位置對換(第1與5換、第2與4換)。在程式中,利用陣列或字串處理對換會比純數學計算簡單很多。因為要保留前導零(例如 09876),回傳字串或格式化輸出是關鍵。
🤖
AI 詳解 AI 專屬家教

【考點分析】 本題測驗基本程式邏輯設計,包含:迴圈控制、條件判斷、數學運算(求餘數)、陣列/字串元素互換,以及函數的封裝。 【理論/法規依據】

▼ 還有更多解析內容

📝 同份考卷的其他題目

查看 111年[資訊處理] 程式設計 全題

升級 VIP 解鎖