c++,某公司采用公用电话传递数据,数据是四位数的整数,在传递过程是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换。写一个函数实现这个算法,函数原型是int changeinfo(int info)
时间: 2024-10-10 20:04:08 浏览: 30
在 C++ 中,你可以创建一个名为 `changeInfo` 的函数来实现这个加密解密过程。首先,我们需要将输入的四位数整数 `info` 按照加密规则进行操作:每位加5、取余、交换首尾。这里是一个简单的函数实现示例:
```cpp
#include <iostream>
// 函数原型
int changeInfo(int info);
// 实现函数
int changeInfo(int info) {
// 将四位数拆分为四个单独的数字
int first = info / 1000; // 取前一位
int second = (info % 1000) / 100; // 取中间两位
int third = (info % 100) / 10; // 取第二位
int fourth = info % 10; // 取最后一位
// 加5并取余
first = (first + 5) % 10;
second = (second + 5) % 10;
third = (third + 5) % 10;
// 交换首位和第四位
int swapped = fourth;
fourth = first;
first = swapped;
// 重新组合四位数
info = ((first * 1000) + (second * 100) + (third * 10) + fourth);
return info;
}
int main() {
int input;
std::cout << "请输入一个四位数: ";
std::cin >> input;
int encrypted = changeInfo(input);
std::cout << "加密后的数是: " << encrypted << std::endl;
return 0;
}
```
阅读全文