C++ 字母游戏:挑战锤锤森林奶茶店的盲盒!
#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;
}
在锤锤森林奶茶店,小榔和小伙伴们遇到了一个有趣的挑战:将屏幕上随机出现的英文字母进行大小写转换、字母右移和逆序排列,完成所有操作即可获得一个盲盒。
游戏规则:
- 大小写字母互转(例如:'abXY' 操作后为 'ABxy')
- 所有英文字母都在字母表中右移三个位置(例如:'abz':a 右移三个位置是 d; b 右移三个位置是 e; z 由于后面没有其他字母,这时会回到字母表首位继续移位,所以右移 3 位为 c; 所以 'abz' 操作后为 'dec')
- 逆序存储(例如:'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++ 代码帮助小榔和小伙伴们完成挑战,获得奶茶店老板送出的盲盒吧!
原文地址: https://www.cveoy.top/t/topic/pUVR 著作权归作者所有。请勿转载和采集!