PAT 乙级 B1048

发布于 2022-09-12 00:48:22 字数 1238 浏览 10 评论 0

题目网址:https://pintia.cn/problem-set...

拿到冷神的代码了, 网上也有各种答案, 但是还是自己的代码, 改不对.

#define _CRT_SECURE_NO_WARNINGS 
#include <cstdio> 
#include <cstring> 
#include <algorithm>

int main(){ 
    char anum[105], bnum[105], cnum[110]; 
    char s[14] = {'0','1','2','3','4','5','6','7','8','9','J','Q','K'}; 
    scanf("%s %s", anum, bnum);
           int alen = strlen(anum) - 1;
           int blen = strlen(bnum) - 1; 
    int c, savec;
           if(alen>blen) {c=alen; savec=alen; } 
    else {c=blen; savec=blen; }
    while(alen>=0 || blen>=0 ){
        int numa = alen<0 ? 0:anum[alen]-'0';
        int numb = blen<0 ? 0:bnum[blen]-'0';
               if( c%2==1 ){ 
            int temp = numb - numa; 
            if(temp < 0) temp = temp + 10; 
            cnum[c] = temp + '0'; 
        } 
        if( c%2==0 ){ 
            cnum[c] = s[ (numb + numa)%13 ]; 
        }
            //printf("%s %d %d %d\n", cnum, alen, blen, c);    
        blen--;    alen--; c--; 
    } 
    cnum[savec+1]='\0';
    printf("%s", cnum);
    return 0;
}

各位大佬来给出出主意啊

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文