题解 | #字符串加解密#

字符串加解密

https://www.nowcoder.com/practice/2aa32b378a024755a3f251e75cbf233a

#include <iostream>
#include <vector>
#include <set>
#include <unordered_set>
#include <map>
#include <algorithm>
#include <string>

using namespace std;


int main(){
	string str1, str2;
	cin >> str1 >> str2;

	// 加密
	for(int i =0;i<str1.size();++i){
		char c = str1[i];
		// 判断字母
		if(isalpha(c)){
			if (c >= 'a' && c <= 'z') {
				c = 'a' + (c - 'a'+1) % 26;
				c = toupper(c);
			}
			else {
				c = 'A' + (c - 'A' + 1) % 26;
				c = tolower(c);
			}
		}else if(isdigit(c)){
			c = '0' + (c - '0' + 1) % 10;
		}
		str1[i] = c;
	}
	
	// 解密
	for (int i = 0; i < str2.size(); ++i) {
		char c = str2[i];
		// 判断字母
		if (isalpha(c)) {
			if (c >= 'a' && c <= 'z') {
				c = 'z' - ('z' - c + 1) % 26;
				c = toupper(c);
			}
			else {
				c = 'Z' - ('Z' - c + 1) % 26;
				c = tolower(c);
			}
		}// 判断数字
		else if (isdigit(c)) {
			c = '9' - ('9' - c + 1) % 10;
		}
		str2[i] = c;
	}

	cout << str1 << endl;
	cout << str2 << endl;
}

全部评论

相关推荐

10-07 23:57
已编辑
电子科技大学 Java
八街九陌:博士?客户端?开发?啊?
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务