#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

string convertLetter(string s) {
    for (int i = 0; i < s.length(); i++) {
        if (islower(s[i])) {
            s[i] = toupper(s[i]);
        }
        else {
            s[i] = tolower(s[i]);
        }
    }
    return s;
}

string shiftLetter(string s) {
    for (int i = 0; i < s.length(); i++) {
        if (isalpha(s[i])) {
            s[i] = (s[i] - 'A' + 3) % 26 + 'A';
        }
    }
    return s;
}

string reverseString(string s) {
    reverse(s.begin(), s.end());
    return s;
}

int main() {
    string letters;
    cin >> letters;

    letters = convertLetter(letters);
    letters = shiftLetter(letters);
    letters = reverseString(letters);

    cout << letters << endl;

    return 0;
}

在锤锤森林奶茶店,小榔和小伙伴们遇到了一个有趣的挑战:将屏幕上随机出现的英文字母进行大小写转换、字母右移和逆序排列,完成所有操作即可获得一个盲盒。

游戏规则:

  1. 大小写字母互转(例如:'abXY' 操作后为 'ABxy')
  2. 所有英文字母都在字母表中右移三个位置(例如:'abz':a 右移三个位置是 d; b 右移三个位置是 e; z 由于后面没有其他字母,这时会回到字母表首位继续移位,所以右移 3 位为 c; 所以 'abz' 操作后为 'dec')
  3. 逆序存储(例如:'abcd' 操作后为 'dcba' )

输入:

输入共 1 行:

第 1 行,一行字符串即英文字母内容(长度小于 500 且只包含大小写字母)

输出:

输出共 1 行:

第 1 行,一行字符串即完成全部操作后的英文字母内容。

输入样例 1 HAPpYBirtTDay

输出样例 1 BDgwWULebSsdk

输入样例 2 HElloworld

输出样例 2 GOURZROOhk

提示

【输入输出样例 1 说明】

原来的英文字母是 'HAPpYBirtTDay',经过操作 1 之后会变为 'hapPybIRTtdAY',再经过操作 2 之后会变为 'kdsSbeLUWwgDB',最后经过操作 3 之后会变为 'BDgwWULebSsdk'

【输入输出样例 2 说明】

原来的英文字母是 'HElloworld',经过操作 1 之后会变为 'heLLOWORLD',再经过操作 2 之后会变为 'khOORZRUOG',最后经过操作 3 之后会变为 'GOURZROOhk'

**数据规模与约定:**对于 100% 的数据,字符串的长度小于 500。

代码解析:

  • convertLetter(string s) 函数用于大小写字母互转。
  • shiftLetter(string s) 函数用于字母右移操作。
  • reverseString(string s) 函数用于字符串逆序操作。

快来用 C++ 代码帮助小榔和小伙伴们完成挑战,获得奶茶店老板送出的盲盒吧!

C++ 字母游戏:挑战锤锤森林奶茶店的盲盒!

原文地址: https://www.cveoy.top/t/topic/pUVR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录