类似凯撒加密
小于 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;
}