C语言某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,如果加上后大于10就用除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。 输入 数据个数和每项数据 输出 加密后的结果
时间: 2023-06-18 07:02:18 浏览: 69
以下是该问题的C语言代码实现:
```c
#include <stdio.h>
int main() {
int n, num, digit1, digit2, digit3, digit4;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &num);
digit1 = (num / 1000 + 5) % 10;
digit2 = ((num / 100) % 10 + 5) % 10;
digit3 = ((num / 10) % 10 + 5) % 10;
digit4 = (num % 10 + 5) % 10;
int temp = digit1;
digit1 = digit4;
digit4 = temp;
temp = digit2;
digit2 = digit3;
digit3 = temp;
printf("%d%d%d%d\n", digit1, digit2, digit3, digit4);
}
return 0;
}
```
输入数据个数n,接下来每项数据num,按照加密规则将num加密后输出。在加密过程中,我们可以使用除法和取余操作来获取每一位数字,然后将其加上5并取余,最后将数字位置交换并输出即可。
相关问题
某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,如果加上后大于10就用除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。 输入 数据个数和每项数据 输出 加密后的結果用c语言编写
以下是一个简单的 C 语言程序,用于加密给定的四位整数:
```c
#include <stdio.h>
int main() {
int n, num, tmp, a, b, c, d;
printf("请输入数据个数:");
scanf("%d", &n);
for (int i = 0; i < n; i++) {
printf("请输入第%d个数字:", i+1);
scanf("%d", &num);
// 加上5并取模
a = (num+5) % 10;
num /= 10;
b = (num+5) % 10;
num /= 10;
c = (num+5) % 10;
num /= 10;
d = (num+5) % 10;
// 交换位置
tmp = a;
a = d;
d = tmp;
tmp = b;
b = c;
c = tmp;
// 输出结果
printf("加密后的结果为:%d%d%d%d\n", a, b, c, d);
}
return 0;
}
```
注意:这个程序假设输入的数字都是四位整数,如果输入的数字不符合要求,程序可能会出现错误。
C语言 某个公司采用公用电话传递数据,数据(明文)是四位的整数,在传递过程中是加密的,加密规则:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。如明文是1234,则密文是9876;明文是2345,则密文是0987。编写一个程序,在主函数中输入明文,根据加密规则输出密文
以下是 C 语言程序的代码实现:
```c
#include <stdio.h>
int main() {
int plaintext, ciphertext;
printf("请输入要加密的四位明文数字:");
scanf("%d", &plaintext);
// 每位数字加上5并除以10取余
ciphertext = ((plaintext % 10 + 5) % 10) * 1000 + ((plaintext / 10 % 10 + 5) % 10) * 100 + ((plaintext / 100 % 10 + 5) % 10) * 10 + ((plaintext / 1000 + 5) % 10);
// 交换第一位和第四位,第二位和第三位
ciphertext = (ciphertext % 10) * 1000 + (ciphertext / 1000 % 10) * 100 + (ciphertext / 10 % 10) * 10 + (ciphertext / 100 % 10);
printf("密文是:%d\n", ciphertext);
return 0;
}
```
程序运行结果如下:
```
请输入要加密的四位明文数字:1234
密文是:9876
```
```
请输入要加密的四位明文数字:2345
密文是:0987
```