C++,codewars,Rot13,530e15517bc88ac656000716

codewars,Rot13,530e15517bc88ac656000716
ROT13 是一种简单的字母替换密码,
用字母表中某字母后面的第13字母替换这个字母。ROT13 是 Caesar 密码的一个示例。

创建一个函数,该函数获取字符串并返回使用 Rot13 加密的字符串。
如果字符串中包含数字或特殊字符,则应按原样返回它们。只有拉丁语/英语字母表中的字母应该被移动,,
*/


#include <string>
using namespace std;

string rot13(string msg)
{
    std::string upperCase{"ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"};
    std::string lowerCase{"abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"};
    std::string cipher{""};
    for(char &ch : msg){
        if(islower(ch)){
            cipher += lowerCase[ch - 'a' + 13];
        }else if(isupper(ch)){
            cipher += upperCase[ch - 'A' + 13];
        }else{
            cipher += ch;
        }
    }
    return cipher;
}

//visualCode ,vim插件, vim 选择模式(可视模式)下, 选择完文本后, 按下Ctrl+x, 选中的文本中的数字会减少1
//该现象多次出现, 但似乎不是vim的功能
posted @ 2025-03-02 20:57  Kazuma_124  阅读(24)  评论(0)    收藏  举报