测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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;

}

上一题 下一题