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

IBM Minus One:字符串字母後移一位的凱撒密碼變體實現

     編輯:關於C語言

問題描述

經典 UVa 444 變體。輸入 n 及 n 行大寫字母字符串(長度 ≤ 50)。每行字符後移一位:A→B, ..., Z→A。輸出格式:"String #k" 後跟轉換結果,每組後空一行。

字符轉換規則

  • 'A'-'Y':ASCII 碼 +1
  • 'Z':變為 'A'

代碼實現

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

int main() {
    int length, num, i, count = 1;
    char array[51];

    scanf("%d", &num);
    getchar();

    while (num--) {
        gets(array);
        length = strlen(array);

        for (i = 0; i < length; i++) {
            if (array[i] >= 'A' && array[i] < 'Z') array[i] += 1;
            else if (array[i] == 'Z') array[i] = 'A';
        }

        printf("String #%d\n", count++);
        for (i = 0; i < length; i++) printf("%c", array[i]);
        printf("\n\n");
    }
    return 0;
}

測試樣例

輸入:

2
HAL
SWERC

輸出:

String #1
IBM

String #2
TXFSD

HAL → I(B)M;SWERC → T(X)F(S)D。注意題目要求每組後有空行。

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