210716 密码翻译

题目描述

在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易的识别。我们给出一种最简的的加密方法,对给定的一个字符串,把其中从 a-y,A-Y 的字母用其后继字母替代,把 z 和 Z 用 a 和 A 替代,其他非字母字符不变,则可得到一个简单的加密字符串。

输入格式

输入一行,包含一个字符串,长度小于 80 个字符。

输出格式

输出每行字符串的加密字符串。

样例

样例输入

Hello! How are you!
样例输出

Ifmmp! Ipx bsf zpv!
数据范围与提示 分类标签

[字符串] [字符数组]

C++题解代码

#include <bits/stdc++.h>
using namespace std;

string a;
char b;


// The main procedure
int main() {
  getline(cin, a);
  for (int i = 0; i < a.size(); i++) {
    b = a[i];
    if ((b >= 'a') && (b <= 'z')) {
      b = (char)((int)b+1);
      if (b > 'z') {
        cout<<'a';
      } else {
        cout<<b;
      }
    } else if ((b >= 'A') && (b <= 'Z')) {
      b = (char)((int)b+1);
      if (b > 'Z') {
        cout<<'A';
      } else {
        cout<<b;
      }
    } else {
      cout<<b;
    }
  }
  return 0;
}

Blockly题解代码图片