A37148. 加密
填空题
困难
知识点
题目描述
加密
题目描述
给定一个只含英文字母(英文字母含大小写字母)的字符串作为原始密码,按照规则将其加密,并输出加密后的密码。
加密原则:原始密码每一位上的字母,使用其在字母表中其后的第三个字母替代原来的字母。如:原始密码是abC,a的字母表中气候的第三个字母为d,b后的第三个字母为e,C后的第三个字母为F,故加密后的密码为deE。
注:
1、当原始密码当前为的字母为小写,加密后的密码为字母表中气候的第三个小写字母。
当原始密码当前为的字母为大写,加密后的密码为字母表中气候的第三个大写字母。
2、原始密码中的英文字母不能为x(X),y(Y),z(Z)。
输入描述
输入N众英文字母(包含大小写字母,但不包含大小写的义,V,Z,2 < N < 101)作为原始密码。
输出描述
按照加密规则输出一个字符串,作为加密后的密码。
输入样例
abC
输出样例
deF
参考答案
#include <iostream>
#include <string>
using namespace std;
int main() {
string s;
cin >> s;
for (int i = 0; i < s.length(); i++) {
char c = s[i];
// 当前字符为大写字母,加密后为大写字母
if (c >= 'A' && c <= 'Z') {
c = (c - 'A' + 3) % 26 + 'A';
}
// 当前字符为小写字母,加密后为小写字母
else if (c >= 'a' && c <= 'z') {
c = (c - 'a' + 3) % 26 + 'a';
}
cout << c;
}
cout << endl;
return 0;
}答案解析
// 参考代码2
#include <bits/stdc++.h>
using namespace std;
int n;
char s[105];
int main() {
gets(s);
n = strlen(s);
for (int i = 0; i < n; i++) {
if ((s[i] >= 'A' && s[i] < 'X') || (s[i] >= 'a' && s[i] < 'x'))
s[i] += 3;
}
puts(s);
return 0;
}
上一题
下一题