题解 | #字符串加解密#
字符串加解密
https://www.nowcoder.com/practice/2aa32b378a024755a3f251e75cbf233a
#include <stdio.h>
#include <string.h>
#define diff 32
#define gap 25
//加密
void encrypt(char str[]) {
for (int i = 0; i < strlen(str); i++) {
//变换大小写
if (str[i] >= 'A' && str[i] <= 'Z') {
if (str[i] == 'Z') {
str[i] = 'a';
} else {
str[i] = str[i] + diff + 1;
}
continue;
}
if (str[i] >= 'a' && str[i] <= 'z') {
if (str[i] == 'z') {
str[i] = 'A';
} else {
str[i] = str[i] - diff + 1;
}
continue;
}
//处理数字
if (str[i] >= '0' && str[i] <= '9') {
if (str[i] == '9') {
str[i] = '0';
} else {
str[i] = str[i] + 1;
}
continue;
}
}
}
//解密
void decode(char str[]) {
for (int i = 0; i < strlen(str); i++) {
//大写变小写
if (str[i] >= 'A' && str[i] <= 'Z') {
if (str[i] == 'A') {
str[i] = 'z';
} else {
str[i] = str[i] + diff - 1;
}
continue;
}
if (str[i] >= 'a' && str[i] <= 'z') {
if (str[i] == 'a') {
str[i] = 'Z';
} else {
str[i] = str[i] - diff - 1;
}
continue;
}
//处理数字
if (str[i] >= '0' && str[i] <= '9') {
if (str[i] == '0') {
str[i] = '9';
} else {
str[i] = str[i] - 1;
}
continue;
}
}
}
int main() {
char encrypt_str[1002] = {0};
char decode_str[1002] = {0};
scanf("%s %s", encrypt_str, decode_str);
encrypt(encrypt_str);
decode(decode_str);
printf("%s\n%s",encrypt_str,decode_str);
return 0;
}

