题目描述
某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下: 每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
代码实现
源代码
#include<stdio.h>
void swap(int* a, int* b)
{
int temp = *a;
*a = *b;
*b = temp;
}
int main(void)
{
int a[4] = { 0 };
int n, i = 3;
printf("请输入四位数字:");
scanf_s("%d", &n);
while (n)
{
a[i] = n % 10;
a[i] += 5;
a[i--] %= 10;
n /= 10;
}
swap(&a[0], &a[3]);
swap(&a[1], &a[2]);
printf("加密后的数字:");
for (i = 0; i < 4; i++)
printf("%d", a[i]);
printf("\n");
return 0;
}
//输出实例
//请输入四位数字:9876
//加密后的数字:1234