小白成长记之PTA乙级题 1048

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;
}
全部评论

相关推荐

喜欢走神的孤勇者练习时长两年半:池是池,发是发,我曾池,我现黑
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务