某个公司采用公用电话传递数据,数据(明文)是四位的整数,在传递过程中是加密的,加密规则:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。如明文是1234,则密文是9876;明文是2345,则密文是0987。编写一一个程序, 在主函数中输入明文,根据加密规则输出密文。用c语言编写
时间: 2024-03-21 16:38:33 浏览: 62
利用报文传递数据时,c语言的密钥加密与解密
5星 · 资源好评率100%
好的,以下是C语言编写的程序代码,您可以参考:
```c
#include <stdio.h>
// 加密函数
void encrypt(int plain_text[], int encrypted_text[]) {
int i;
// 将每一位数字加上 5 并计算除以 10 的余数
for (i = 0; i < 4; i++) {
encrypted_text[i] = (plain_text[i] + 5) % 10;
}
// 将第一位和第四位交换,第二位和第三位交换
int temp = encrypted_text[0];
encrypted_text[0] = encrypted_text[3];
encrypted_text[3] = temp;
temp = encrypted_text[1];
encrypted_text[1] = encrypted_text[2];
encrypted_text[2] = temp;
}
int main() {
int plain_text[4], encrypted_text[4];
int i;
// 读入明文
printf("请输入四位明文(四个数字):");
for (i = 0; i < 4; i++) {
scanf("%d", &plain_text[i]);
}
// 加密
encrypt(plain_text, encrypted_text);
// 输出密文
printf("密文:");
for (i = 0; i < 4; i++) {
printf("%d", encrypted_text[i]);
}
printf("\n");
return 0;
}
```
运行程序后,您可以输入明文,程序会输出对应的密文。
阅读全文