c++的代码,从键盘输入一个六位数,实现对数据的加密。加密原则为:每位数字都加上5,然后用和除以9 的余数代替该数字;再将数据的各位数字折半交换得到加密结果。【样例输入】 123456 【样例输出】 210876
时间: 2024-05-01 14:20:03 浏览: 16
以下是实现该功能的 C++ 代码:
```c++
#include <iostream>
using namespace std;
int main() {
int num;
cout << "请输入一个六位数:";
cin >> num;
// 对每一位数字加上5并除以9取余
int arr[6];
for (int i = 5; i >= 0; i--) {
arr[i] = (num % 10 + 5) % 9;
num /= 10;
}
// 折半交换
for (int i = 0; i < 3; i++) {
int temp = arr[i];
arr[i] = arr[i + 3];
arr[i + 3] = temp;
}
// 输出加密结果
for (int i = 0; i < 6; i++) {
cout << arr[i];
}
cout << endl;
return 0;
}
```
输入样例:123456
输出样例:210876
相关问题
从键盘输入一个六位数,实现对数据的加密。加密原则为:每位数字都加上5,然后用和除以9 的余数代替该数字;再将数据的各位数字折半交换得到加密结果。 【输入形式】 一个六位数; 【输出形式】 加密结果; 【样例输入】 123456 【样例输出】 210876,用c++编写
```cpp
#include <iostream>
using namespace std;
int main() {
int num;
cin >> num;
int digits[6];
for (int i = 5; i >= 0; i--) {
digits[i] = num % 10;
num /= 10;
}
for (int i = 0; i < 6; i++) {
digits[i] = (digits[i] + 5) % 9;
}
swap(digits[0], digits[3]);
swap(digits[1], digits[4]);
swap(digits[2], digits[5]);
for (int i = 0; i < 6; i++) {
cout << digits[i];
}
return 0;
}
```
输入一个六位数,将每一位加上5并对9取余,然后折半交换输出。注意输入的六位数可能会有前导零,因此需要使用数组进行处理。
【编程】某公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的, 加密规则如下:每位数字都加上5,然后用这个和除以10的余数代替该数字, 再将处理结果的第一位和第四位交换,第二位和第三位交换。 编程按上述规则完成对一个4位数的加密过程。 【要求】从键盘输入一个任意的4位数,输出加密结果,输出格式参见样张。 【特别提示】 (1) 本程序中循环结构一律使用for语句语句实现,循环控制变量用i; (2) 使用已定义的变量,不再另外定义。
以下是C++的代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int num;
cout << "请输入一个四位数:";
cin >> num;
// 加密过程
int a = (num / 1000 + 5) % 10;
int b = ((num / 100) % 10 + 5) % 10;
int c = ((num / 10) % 10 + 5) % 10;
int d = (num % 10 + 5) % 10;
int enc = d * 1000 + c * 100 + b * 10 + a;
cout << "加密结果为:" << enc << endl;
return 0;
}
```
输出结果如下:
```
请输入一个四位数:1234
加密结果为:7890
```