其他分享
首页 > 其他分享> > 1048 数字加密 (20 分)

1048 数字加密 (20 分)

作者:互联网

#include<stdio.h>

#include<string.h>

int main()

{

char a[110],b[110],c[110];

char sum[15]={'0','1','2','3','4','5','6','7','8','9','J','Q','K'};

scanf("%s",a);

scanf("%s",b);

int la=strlen(a);

int lb=strlen(b);

lb--;

la--;

int jw,i=0;

int ji=1;

while(lb>=0&&la>=0)

{

if(ji)

{

jw=a[la--]-'0'+b[lb--]-'0';

jw%=13;

c[i++]=sum[jw];

ji=0;

}

else

{

jw=(b[lb--]-a[la--]+10)%10;

c[i++]=sum[jw];

ji=1;

}

}

while(la>=0)

{

if(ji)

{

jw=a[la--]-'0';

c[i++]=sum[jw];

ji=0;

}

else

{

jw=('0'-a[la--]+10)%10;

c[i++]=sum[jw];

ji=1;

}

}

while(lb>=0)

{

if(ji)

{

jw=b[lb--]-'0';

c[i++]=sum[jw];

ji=0;

}

else

{

jw=b[lb--]-'0';

c[i++]=sum[jw];

ji=1;

}

}

c[i]='\0';

int lc=strlen(c);

int k=0;

for(i=lc-1;i>=0;i--)

{

if(c[i]!=0);

k++;

if(k)

     printf("%c",c[i]);

}

if(!k)

printf("0");

return 0;

}

标签:jw,加密,la,int,sum,1048,lb,ji,20
来源: https://blog.csdn.net/yubai258/article/details/90055718