为使电文保密,常将明文转换成密文。以'.'作为电文输入的结束标识。若加密规律为: 字母ASCII加1,即a变b,b变c,z则变为a;数字不变;空格变为#。用c++
时间: 2024-04-05 21:31:02 浏览: 71
可以使用C++的字符串和ASCII码来实现这个加密规律。以下是一个示例代码:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string plaintext;
cout << "请输入明文:";
getline(cin, plaintext);
for (int i = 0; i < plaintext.length(); i++) {
if (plaintext[i] == '.') { // 如果是结束标识,则退出循环
break;
}
if (plaintext[i] >= 'a' && plaintext[i] <= 'z') { // 如果是小写字母
plaintext[i] = (plaintext[i] - 'a' + 1) % 26 + 'a'; // 加密
} else if (plaintext[i] >= 'A' && plaintext[i] <= 'Z') { // 如果是大写字母
plaintext[i] = (plaintext[i] - 'A' + 1) % 26 + 'A'; // 加密
} else if (plaintext[i] == ' ') { // 如果是空格
plaintext[i] = '#'; // 加密
}
}
cout << "加密后的密文为:" << plaintext << endl;
return 0;
}
```
示例输出:
```
请输入明文:Hello, world.
加密后的密文为:Ifmmp,#xpsme#
```
阅读全文