PTA乙级题 1048. 数字加密(20)
【题目链接】
比较简单吧。
#include<stdio.h>
#include<string.h>
int main()
{
char a[100]={0},b[100]={0};
int c[100]={0},d[100]={0};
scanf("%s %s",a,b);
int len1,len2,i,len,sum;
len1=strlen(a);
len2=strlen(b);
if (len1<len2)
{
for (i=len2-len1;i<len2;i++)
c[i]=a[i+len1-len2]-'0';
len=len2;
for (i=0;i<len;i++)
d[i]=b[i]-'0';
}
else
{
for (i=len1-len2;i<len1;i++)
d[i]=b[i+len2-len1]-'0';
len=len1;
for (i=0;i<len;i++)
c[i]=a[i]-'0';
}
if (len%2==0)
{
for (i=0;i<len;i++)
{
sum=0;
if (i%2==0)
{
sum=d[i]-c[i];
if (sum<0)
sum+=10;
printf("%d",sum);
}
else
{
sum=c[i]+d[i];
if (sum>=13)
sum%=13;
if (sum==10)
printf("J");
else if (sum==11)
printf("Q");
else if (sum==12)
printf("K");
else
printf("%d",sum);
}
}
}
else
{
for (i=0;i<len;i++)
{
if (i%2!=0)
{
sum=d[i]-c[i];
if (sum<0)
sum+=10;
printf("%d",sum);
}
else
{
sum=c[i]+d[i];
sum%=13;
if (sum==10)
printf("J");
else if (sum==11)
printf("Q");
else if (sum==12)
printf("K");
else
printf("%d",sum);
}
}
}
return 0;
}