107高考-資訊處理-程式語言 第三題、第四題參考答案
第三題 請撰寫一支密碼產生模組程式,此模組的密碼組成為一個五位數字,最後一碼 (個位數) 為驗證碼。合法的密碼規則是除了驗證碼之外的所有數字相乘後取除以 10 的餘數當作驗證碼。例如: 1357 5 即為合法的密碼,因為( 1*3*5*7 )%10 = 5 。請撰寫一支完整 程式,包含主程式和codeGen( );codeGen( ) 功能為輸入參數為密碼的前四碼,輸出為產生驗證碼之後的五位數字密碼。程式讓使用者輸入密碼的前四碼後,檢查使用者所輸入的數值是否為四位數,正確的話則呼叫 codeGen( ) 將傳回之 五位數字密碼從螢幕顯示出。主程式中需有迴圈功能詢問使用者是否要繼續輸入,直到使用者按下不是 ‘Y’ 或 ‘y’ 鍵時結束程式。 參考答案 #include <stdio.h> #include <math.h> void codeGen ( int a []) { int p = 1 ; for ( int i = 0 ; i < 4 ; i ++ ) { p *= a [ i ] ; // 所有數字相乘後 printf ( "%d" , a [ i ]) ; } printf ( "%d \n " , p % 10 ) ; // 除以 10 的餘數當作驗證碼 } int main () { int n ; char ch = 'Y' ; while ( ch == 'Y' || ch == 'y' ) { ...