1、对输入的字符串进行加解密,并输出。
2加密方法为:
当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;
当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;
其他字符不做变化。
3、解密方法为加密的逆过程。
接口描述:
实现接口,每个接口实现1个基本操作:
void Encrypt (char aucPassword[], char aucResult[]):在该函数中实现字符串加密并输出
说明:
1、字符串以\0结尾。
2、字符串最长100个字符。
int unEncrypt (char result[], char password[]):在该函数中实现字符串解密并输出
说明:
1、字符串以\0结尾。
2、字符串最长100个字符。
输入描述:
输入说明 输入一串要加密的密码 输入一串加过密的密码
输出描述:
输出说明 输出加密后的字符 输出解密后的字符
输入例子:
abcdefg BCDEFGH
输出例子:
BCDEFGHabcdefg
#include <iostream> #include <string> using namespace std; int main() { string s1, s2; while (cin >> s1 >> s2) { for (int i = 0; i < s1.length(); i++) { if (isdigit(s1[i]) && s1[i] != '9') s1[i] += 1; else if (islower(s1[i]) && s1[i] != 'z') s1[i] = s1[i] - 32 + 1; else if (isupper(s1[i]) && s1[i] != 'Z') s1[i] = s1[i] + 32 + 1; else if (s1[i] == '9') s1[i] = '0'; else if (s1[i] == 'z') s1[i] = 'A'; else if (s1[i] == 'Z') s1[i] = 'a'; } for (int i = 0; i < s2.length(); i++) { if (isdigit(s2[i]) && s2[i] != '0') s2[i] -= 1; else if (islower(s2[i]) && s2[i] != 'a') s2[i] = s2[i] - 32 - 1; else if (isupper(s2[i]) && s2[i] != 'A') s2[i] = s2[i] + 32 - 1; else if (s2[i] == '0') s2[i] = '9'; else if (s2[i] == 'a') s2[i] = 'Z'; else if (s2[i] == 'A') s2[i] = 'z'; } cout << s1 << endl << s2 << endl; } return 0; }