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

簡單編碼算法:大小寫反轉、數字映射與字符串反轉的組合變換

     編輯:關於C語言

問題描述

對輸入字符串(長度 ≤ 100)進行編碼:小寫轉大寫、大寫轉小寫、數字 0-9 映射為 9-0,最後將整個字符串反轉輸出。

編碼規則表

原字符編碼後
a-zA-Z
A-Za-z
09
18
27
36
45
54
63
72
81
90

算法步驟

  1. 遍歷字符串,原地修改每個字符
  2. 字母:利用 ASCII 碼差值 32 進行大小寫轉換
  3. 數字:'9' - ch + '0' 實現 0↔9, 1↔8 等映射
  4. 反序輸出:從末尾向前遍歷打印

代碼實現

#include <stdio.h>
#include <string.h>

int main() {
    int i, length;
    char string[101];

    gets(string);
    length = strlen(string);

    for (i = 0; i < length; i++) {
        if (string[i] >= 'a' && string[i] <= 'z')
            string[i] -= 32;  // 小寫轉大寫
        else if (string[i] >= 'A' && string[i] <= 'Z')
            string[i] += 32;  // 大寫轉小寫
        else if (string[i] >= '0' && string[i] <= '9')
            string[i] = '9' - string[i] + '0';  // 數字映射
    }

    for (i = length - 1; i >= 0; i--)
        printf("%c", string[i]);

    return 0;
}

測試樣例

輸入: china
輸出: ANIHC

過程:china → CHINA → ANIHC(反轉)

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