题解 | #扑克牌大小#

扑克牌大小

https://www.nowcoder.com/practice/d290db02bacc4c40965ac31d16b1c3eb

华子第一题的难度,限制条件分析清楚就可以
#include<stdio.h>
#include<string.h>
char str1[15]={0};
char str2[15]={0};

int func(char c){
    switch(c){
        case '3':return 1;
        case '4':return 2;
        case '5':return 3;
        case '6':return 4;
        case '7':return 5;
        case '8':return 6;
        case '9':return 7;
        case '1':return 8;
        case 'J':return 9;
        case 'Q':return 10;
        case 'K':return 11;
        case 'A':return 12;
        case '2':return 13;
    }
    return 0;
}
void compare(char a,char b)
{
    int temp1=func(a);
    int temp2=func(b);
    if(temp1>temp2){printf("%s",str1);return ;}
    else{printf("%s",str2);return ;}
}
int main(void)
{
    scanf("%[^-]",&str1);
    getchar();
    scanf("%[^\n]",&str2);
    int len1=strlen(str1);
    int len2=strlen(str2);
    if(strcmp(str1,"joker JOKER")==0){printf("%s\n",str1);return 0;}
    if(strcmp(str2,"joker JOKER")==0){printf("%s\n",str2);return 0;}
    if(strcmp(str1,"joker")==0)
    {
        if(strcmp(str2,"JOKER")==0){printf("%s\n",str2);return 0;}
        if(len2==1||len2==2){printf("%s\n",str1);return 0;}
        else{printf("ERROR");return 0;}
    }
    if(strcmp(str1,"JOKER")==0)
    {
        if(strcmp(str2,"joker")==0){printf("%s\n",str1);return 0;}
        if(len2==1||len2==2){printf("%s\n",str1);return 0;}
        else{printf("ERROR");return 0;}
    }
    if(len1==7||(len1==11&str1[0]=='1'))//1为炸弹
    {
        if(len2==7||(len2==11&str2[0]=='1'))//2也是炸弹
        {
            compare(str1[0],str2[0]);
            return 0;
        }
        else//2非炸弹
        {
            printf("%s\n",str1);
            return 0;
        }
    }
    if(len2==7||(len2==11&str2[0]=='1'))//1为炸弹
    {
        if(len1==7||(len1==11&str1[0]=='1'))//2也是炸弹
        {
            compare(str1[0],str2[0]);
            return 0;
        }
        else//1非炸弹
        {
            printf("%s\n",str2);
            return 0;
        }
    }
    
    if(len1==1||len1==2)//不带王的单牌
    {
        if(strcmp(str2,"joker")==0||strcmp(str2,"JOKER")==0)
        {printf("%s",str2);return 0;}
        if(len2>2){printf("ERROR");return 0;}
        if(len2==2||len2==1)
        {
            compare(str1[0],str2[0]);
            return 0;
        }
    }
    if(len1==3||(len1==5&&str1[0]=='1'))//对子,一副牌没有对王
    {
       if(len2==3||(len2==5&&str2[0]=='1'))//2也是对子
       {
           compare(str1[0],str2[0]);
            return 0;
       }
       else{printf("ERROR");return 0;}
    }
    if(len1==5||(len1==8&&str1[0]=='1'))//3张牌
    {
        if(len2==5||(len2==8&&str2[0]=='1'))
        {
             compare(str1[0],str2[0]);
            return 0;
        }
        else{printf("ERROR");return 0;}    
    }
    if(len1==9||len1==10)//顺子
    {
        if(len2==9||len2==10)
        {
            compare(str1[0],str2[0]);
            return 0;
        }
        else{printf("ERROR");return 0;}  
    }
    
    
    
    return 0;
}


全部评论

相关推荐

04-15 20:51
门头沟学院 Java
纳斯卡可:把名字改一下吧 千万级用户你真测过吗
点赞 评论 收藏
分享
个人背景:学院二本计科专业&nbsp;大二开始实习个人经历:安克创新&nbsp;、理想汽车、字节跳动碎碎念:我做事只有三分钟热度。看到进了大厂的同学,我会羡慕,也会跟着努力上进;但遇到好看的小说,我又会放下手头的事沉迷其中,之前的坚持也就中断了。我有些自卑,总觉得自己学历和外貌都不够好。之前偶然在网上受到关注,我就喜欢上了上网,因为这里有很多人认可我。但我也很在意别人的评价,偶尔看到嘲讽的言论,会触发我的自卑情绪,让我感到愤怒。有时候我会强硬地回怼,有时候又会懦弱地选择无视。我也有虚荣心。不管是拿到安克、理想还是字节的机会,我在分享的时候都会带着这份心思。我会特意强调自己学历不好,是为了衬托出过程的艰难,以此显得自己更厉害。我知道,人往往会炫耀自己缺少的东西,来掩盖内心的空洞。我总想着走捷径,不太喜欢踏踏实实地做事。找实习的时候,我花了更多时间在研究面试技巧上,而不是提升专业能力。我会反复听面试录音分析技巧,看面试教程学习怎么和不同的面试官沟通,还会每天自言自语练习语言表达,同学都觉得我有点奇怪。我的实习生涯里,侥幸和运气占了很大一部分。我总在想,如果有一天我失去了这份幸运,这些特质可能会让我一蹶不振。ps:&nbsp;很多人会问我学习路线和经验&nbsp;但是就像我上面说的&nbsp;我的实习过程靠的很多是关键节点的运气&nbsp;技术上面我可能不如很多人&nbsp;&nbsp;所以请大家理性求助和理性参考我的回答&nbsp;附上我的投递记录
我的offer在哪里...:从去年看到现在,飞升哥就是榜样
我的求职进度条
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务