某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以十的余数代替该数字,再将第一位和第四位交换,第二位和第三位叫换,用c++实现
时间: 2024-09-26 12:11:47 浏览: 41
在C++中,你可以通过编写函数来实现这个加密过程。以下是一个简单的示例,展示了如何加密和解密四位整数:
```cpp
#include <iostream>
using namespace std;
// 加密函数
int encrypt(int num) {
int encrypted = (num + 5) % 10; // 每位加5并取余
int temp = encrypted;
encrypted = encrypted * 10 + (num / 10); // 交换位置
return encrypted;
}
// 解密函数
int decrypt(int encrypted) {
int first = encrypted % 10; // 取出第一位
int second = (encrypted - first) / 10; // 取出第二位,已包含第一位
int fourth = second % 10; // 第二位变成第四位
int third = (second - fourth) / 10; // 第三位
int num = first;
num = num * 10 + third; // 把第三位放回原位
num = num * 10 + fourth; // 再把第四位放回原位
return num;
}
int main() {
int data; // 输入原始数据
cout << "请输入四位整数:";
cin >> data;
// 加密
int encrypted = encrypt(data);
cout << "加密后的数是:" << encrypted << endl;
// 解密
int decrypted = decrypt(encrypted);
cout << "解密后的数是:" << decrypted << endl;
return 0;
}
```
在这个程序中,用户可以输入一个四位整数,然后通过`encrypt`函数将其加密,并通过`decrypt`函数还原回去。
阅读全文