跳至主要內容

类似凯撒加密

酷丁小于 1 分钟

字符串中,如果是字母则改成其后第3个字母,如a改成d,xyz则是abc,大小写都考虑。

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

void transformString(char *str) {
    for (int i = 0; str[i] != '\0'; i++) {
        if ((str[i] >= 'a' && str[i] <= 'w') || (str[i] >= 'A' && str[i] <= 'W')) {
            str[i] += 3;  // 将字符向后移动3个位置
        } else if ((str[i] >= 'x' && str[i] <= 'z') || (str[i] >= 'X' && str[i] <= 'Z')) {
            str[i] -= 23;  // 'x'/'X' -> 'a'/'A', 'y'/'Y' -> 'b'/'B', 'z'/'Z' -> 'c'/'C'
        }
    }
}

int main() {
    char str[] = "Hello, xyz! ABC xyz";
    printf("Original string: %s\n", str);
    transformString(str);
    printf("Transformed string: %s\n", str);
    return 0;
}