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