整个公司采用公共电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下,每位数字都加上5,然后用和除以十的余数代替该数字,再将第一位与第四位交换,第二位与第三位交换,用c++写出
时间: 2024-09-29 11:04:17 浏览: 47
在C++中,你可以使用模运算(%)来实现这个加密规则。以下是一个简单的函数,它接受一个四位整数,按照题目描述的过程进行加密:
```cpp
#include <iostream>
int encrypt(int num) {
// 按照规则对每位数字进行操作
int encrypted = ((num % 10) + 5) % 10; // 对每一位加上5并取余,得到新的数字
// 交换位置
encrypted = (encrypted * 10 + (num / 10)) % 100; // 第一位和第四位交换
encrypted = (encrypted / 10 * 100 + (num % 100)) % 1000; // 第二位和第三位交换
return encrypted;
}
int main() {
int input;
std::cout << "请输入一个四位整数:";
std::cin >> input;
// 加密并打印结果
int encrypted_num = encrypt(input);
std::cout << "加密后的四位数是: " << encrypted_num << std::endl;
return 0;
}
```
在这个程序中,`encrypt` 函数首先对输入的四位数的每一位执行加5并取余的操作,然后通过两次交换位置实现了题目要求的数据处理。请注意,由于最后的结果还是四位数,所以计算完交换后的值后还需要再次取模以保持数值在范围内。
阅读全文