某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下

某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上9,然后用和除以6的余数代替该数字,再将第一位和第二位交换,第四位和第三... 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上9,然后用和除以6的余数代替该数字,再将第一位和第二位交换,第四位和第三位交换 展开
 我来答
工号丶302
推荐于2016-06-24 · TA获得超过107个赞
知道答主
回答量:126
采纳率:0%
帮助的人:152万
展开全部
#include <stdio.h>

int code(int in);//加密
int decode(int in);//解密
int main ()
{
int in;
scanf("%d",&in);
int result = code(in);
printf("加密:%d\n",result);
printf("解密:%d\n",decode(result));

return 0;
}
int code(int in)
{
int result;
int m[4];
int n,i;
for (i=0;i<4;i++)
{
m[i] = in%10;
m[i] += 5;
m[i] %= 10;
in /= 10;
}
n = m[0];
m[0] = m[3];
m[3] = n;
n = m[1];
m[1] = m[2];
m[2] = n;

result = m[0]+m[1]*10+m[2]*100+m[3]*1000;
return result;
}
int decode(int in)
{
int result;
int m[4];
int n,i;
for (i=0;i<4;i++)
{
m[i] = in%10;
m[i] = (m[i]>=5 ? m[i]-5:m[i]+5);
in /= 10;
}
n = m[0];
m[0] = m[3];
m[3] = n;
n = m[1];
m[1] = m[2];
m[2] = n;

result = m[0]+m[1]*10+m[2]*100+m[3]*1000;
return result;
}
请采纳。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式