首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言實例練習

C語言練習實例89:四位整數加密算法實現

     編輯:C 語言實例練習

C語言練習實例89:四位整數加密算法實現

本實例實現一個簡單的四位整數加密規則:每位數字加 5 取模 10,然後交換第一位與第四位、第二位與第三位。

加密步驟

  1. 將四位數分解為各位數字存入數組 aa[4](個位在 aa[0],千位在 aa[3])。
  2. 遍歷數組:aa[i] = (aa[i] + 5) % 10。
  3. 對稱交換:aa[0]↔aa[3],aa[1]↔aa[2]。
  4. 逆序輸出數組得到加密後的四位數。

源代碼

// Created by www.runoob.com on 15/11/9.
// Copyright © 2015年 菜鳥教程. All rights reserved.
//
#include <stdio.h>

int main() {
    int a, i, aa[4], t;

    printf("請輸入四位數字:");
    scanf("%d", &a);

    aa[0] = a % 10;
    aa[1] = a % 100 / 10;
    aa[2] = a % 1000 / 100;
    aa[3] = a / 1000;

    for (i = 0; i <= 3; i++) {
        aa[i] += 5;
        aa[i] %= 10;
    }

    for (i = 0; i <= 3 / 2; i++) {
        t = aa[i];
        aa[i] = aa[3 - i];
        aa[3 - i] = t;
    }

    printf("加密後的數字:");
    for (i = 3; i >= 0; i--)
        printf("%d", aa[i]);
    printf("\n");

    return 0;
}

運行示例

請輸入四位數字:1234
加密後的數字:9876

驗證

輸入 1234:

  • 分解得 [4,3,2,1]
  • 加5模10得 [9,8,7,6]
  • 交換後 [6,7,8,9]
  • 逆序輸出 9876

解密只需逆向操作。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved