C++输入一行字符,将其中的所有英文字符加密后输出,加密规则为A变为Z(a变为z),B变为Y(b变为y),以此类推,非英文字符不变。
时间: 2023-12-09 18:02:48 浏览: 111
可以使用C++的标准库函数isalpha()和toupper()实现该加密操作,具体代码如下:
```C++
#include <iostream>
#include <cstring>
#include <cctype>
using namespace std;
int main() {
char str[100];
cin.getline(str, 100);
int len = strlen(str);
for (int i = 0; i < len; i++) {
if (isalpha(str[i])) { // 判断是否是英文字母
str[i] = toupper(str[i]); // 转换为大写字母
str[i] = 'A' + 'Z' - str[i]; // 加密操作
if (islower(str[i])) { // 如果原字符是小写字母,转换回小写字母
str[i] = tolower(str[i]);
}
}
}
cout << str << endl;
return 0;
}
```
输入一行字符后,首先使用getline()函数读入整行字符串,然后遍历字符串中的每一个字符,对于英文字母,将其转换为大写字母,然后进行加密操作,最后根据原字符是否是小写字母,决定是否将加密后的字符转换为小写字母。最后输出加密后的字符串即可。
阅读全文