/* 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:
每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
输出这个加密的数字?
*/
#include "stdio.h"
#include "conio.h"
main()
{
//定义一个变量,用来保存这个四位的整数
int num;
//定义4个变量分别保存个位,十位,百位,千位上面的数字
int gewei,shiwei,baiwei,qianwei;
//提示
printf("请输入一个四位的整数:\n");
//接收用户输入的这个四位的整数
scanf("%d",&num);
//获取这个数字的各个位上的数字
gewei=num/1%10;
shiwei=num/10%10;
baiwei=num/100%10;
qianwei=num/1000%10;
//用和除以10的余数代替
gewei=(gewei+5)%10;
shiwei=(shiwei+5)%10;
baiwei=(baiwei+5)%10;
qianwei=(qianwei+5)%10;
//交换位置a=a^b;b=b^a;a=a^b;
//个位、千位交换
gewei=gewei^qianwei;
qianwei=qianwei^gewei;
gewei=gewei^qianwei;
//十位、百位
shiwei=shiwei^baiwei;
baiwei=baiwei^shiwei;
shiwei=shiwei^baiwei;
//输出
printf("%d%d%d%d",qianwei,baiwei,shiwei,gewei);
getch();
}