#include <stdio.h> #include<string.h> #include<malloc.h> #include<ctype.h> /* 当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a; 当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0; 其他字符不做变化。 */ int main() { int i, j; char* str1 = (char*)malloc(1000 * sizeof(char)); char* str2 = (char*)malloc(1000 * sizeof(char)); scanf("%s", str1); scanf("%s", str2); int len1 = strlen(str1); //加密 int len2 = strlen(str2); //解密 //暴力枚举加密 for (i = 0; i < len1; i++) { if (str1[i] >= 'A' && str1[i] < 'Z') //大写 str1[i] += 33; else if (str1[i] == 'Z') //到头 str1[i] = 'a'; else if (str1[i] >= 'a' && str1[i] <'z') //小写 str1[i] -= 31; else if (str1[i] == 'z') //到头 str1[i] = 'A'; else if (str1[i] >= '0' && str1[i] < '9') str1[i] += 1; else if (str1[i] == '9') //到头 str1[i] = '0'; } //暴力枚举解密 for(i=0;i<strlen(str2);i++) { if(str2[i] > 'A' && str2[i] <= 'Z') str2[i]+=31; else if(str2[i]=='A') str2[i]='z'; else if(str2[i] > 'a' && str2[i] <='z') str2[i]-=33; else if(str2[i]=='a') str2[i]='Z'; else if(str2[i] > '0' && str2[i] <='9') str2[i]-=1; else if(str2[i]=='0') str2[i]='9'; } printf("%s\n",str1); printf("%s\n",str2); return 0; }
纯粹没脑子