# C習題3-49 ###### tags: `C習題` ## 題目: >讓使用者輸入4位數整數, 用以下方法加密: >將每一位數分別加7, 再將此數除以10,所得餘數取代原來位數 >再將第1,3位數對調, 第2,4位數對調 >最後印出加密值 ## code: ```c= #include <stdio.h> int main () { int a,w,x,y,z,counter = 1;/*w,x,y,z for output; a for input*/ printf("Input 4 digits to encrypt:\n"); /*printf("Input 1st digits:\n"); scanf("%d",&a); printf("Input 2nd digits:\n"); scanf("%d",&b); printf("Input 3rd digits:\n"); scanf("%d",&c); printf("Input 4th digits:\n"); scanf("%d",&d); printf("Your 4 digits before encrype:\n"); printf("%d%d%d%d\n",a,b,c,d);*/ while(counter <= 4) { printf("Input No.%d digits:\n",counter); scanf("%d",&a); a = a + 7; a = a % 10; if(counter == 1) { y = a; } if(counter == 2) { z = a; } if(counter == 3) { w = a; } if(counter == 4) { x = a; } counter = counter + 1 ; } printf("Encrypted digits:%d%d%d%d\n",w,x,y,z); return 0; } ``` ## 心得 1. 應該要設計一個機制可以讓輸入超過2位數的狀況排除 2. 只使用所知的while & if 進行, 未來應該有更方便的方式 3. 運算子使用應該可以更簡潔, 只是目前先以自己比較直觀看得懂的方式寫