输入一行电报文字,将字母变成其下一字母(如’a’变成’b’……’z’变成’a’其它字符不变)。c++
时间: 2024-09-23 22:01:59 浏览: 87
在 C++ 中,你可以使用模运算(%)来实现输入的一行电报文字中的字母循环移位。这里是一个简单的示例代码片段:
```cpp
#include <iostream>
#include <string>
std::string shift_alphabets(const std::string& input) {
std::string output = "";
for (char c : input) {
if ('a' <= c && c <= 'z') { // 判断是否为小写字母
output += static_cast<char>((c - 'a' + 1) % 26 + 'a'); // 移动一位并转换回字母
} else if ('A' <= c && c <= 'Z') { // 判断是否为大写字母
output += static_cast<char>((c - 'A' + 1) % 26 + 'A');
} else { // 非字母字符保持不变
output += c;
}
}
return output;
}
int main() {
std::string telegram_text;
std::cout << "请输入一行电报文字: ";
getline(std::cin, telegram_text);
std::string shifted_text = shift_alphabets(telegram_text);
std::cout << "移位后的文本: " << shifted_text << std::endl;
return 0;
}
```
这个程序首先读取用户输入的电报文字,然后遍历每个字符,如果是字母则按照ASCII码顺序移动一位,并处理大小写情况。非字母字符则直接保留原样。
阅读全文