---
# System prepended metadata

title: C習題3-49
tags: [C習題]

---

# 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. 運算子使用應該可以更簡潔, 只是目前先以自己比較直觀看得懂的方式寫