给定一个由字母组成没有包含空格的字符串,将其字符循环左移一个单位加密,然后输出,字符串长度不超过15,c++
时间: 2024-12-20 14:17:26 浏览: 11
输出一个字符串的全部子串.docx
当你想在C++中对一个无空格字母组成的字符串进行循环左移加密,你可以使用模运算(取余数操作)。这里是一个简单的示例代码片段:
```cpp
#include <iostream>
#include <string>
std::string encryptString(std::string input) {
if (input.length() > 15) {
std::cout << "输入字符串长度超过15,已被截断。\n";
return input.substr(0, 15);
}
std::string encrypted = "";
for (char c : input) {
// 将字符向左移动一位,如果达到'a',则回到'z'
char shifted_c = static_cast<char>((c - 'a' + 1) % 26 + 'a');
encrypted += shifted_c;
}
return encrypted;
}
int main() {
std::string original_str = "example"; // 你的输入字符串
std::string encrypted_str = encryptString(original_str);
std::cout << "加密后的字符串是: " << encrypted_str << "\n";
return 0;
}
```
在这个例子中,`encryptString`函数接收一个字符串作为输入,通过将每个字符减去小写字母'a'的ASCII码值,然后加上1并对其余26取模,实现了字母的循环左移。如果原始字符串长度超过15,函数会先截断到前15个字符。
阅读全文