阿摩線上測驗 登入

111年 - 111 高等考試_三級_資訊處理:程式設計#109802

科目:程式設計 | 年份:111年 | 選擇題數:0 | 申論題數:7

試卷資訊

所屬科目:程式設計

選擇題 (0)

申論題 (7)

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

以下為程式執行的範例: (備註:斜體加外框線之整數為使用者所輸入,其餘皆為程式執行的輸出。)
請輸入一個五位數的整數(輸入 0 結束程式):1234
所輸入的數值並不是五位數之整數
請重新輸入:12345
加密後的密碼為:09876
解密後的密碼為:12345
請輸入一個五位數的整數(輸入 0 結束程式):67890
加密後的密碼為:54321
解密後的密碼為:67890
請輸入一個五位數的整數(輸入 0 結束程式):0
感謝使用此程式,歡迎您對此程式的優化提出建議。