NYOJ纸牌游戏

纸牌游戏

时间限制: 1000 ms  |  内存限制: 65535 KB
难度: 1
描述
  • 玩家1和玩家2各出一张牌,看谁大。如果两张牌都不是王牌花色或则都是王牌花色,则牌面大的牌大,如果牌面一样大则一样大。若其中一张牌是王牌而另一张不是,则无论牌面如何都是王牌花色大。

输入
第一行一个数字n,代表数据组数(n <= 10)
对于每组数据,首先输入一个字符(S\H\D\C),表示王牌花色。
接下去一行有两张牌面,表示为牌面花色,如8D、9S等。
输出
对于每组数据,输出第一张牌是否比第二张牌大,若是则输出YES,否则输出NO
样例输入
1
H
QH 9S
样例输出
YES
提示

A的值为1,不是13



简直就是一道很坑的水题, 要注意的地方太多了,而且题意不太清楚,还得靠生活积累,JKQ,哎,原谅我打牌太少,,,,

#include <stdio.h>
#include <string.h>
int fun(char *s, int len)
{
    if(len == 3)
        return 10;
    if(s[0] >= '0' && s[0] <= '9')
        return s[0] - '0';
    if(s[0] == 'A')
        return 1;
    if(s[0] == 'J')
        return 11;
    if(s[0] == 'Q')
        return 12;
    if(s[0] == 'K')
        return 13;
    return 0;
}
int main()
{
    int n, len1, len2, first1, first2;
    char ch, s1[5], s2[5];
    scanf("%d", &n);
    while(n--)
    {
        getchar();
        scanf("%c", &ch);
        scanf("%s", s1);
        scanf("%s", s2);
        len1 = strlen(s1);
        len2 = strlen(s2);
        if(s1[len1 - 1] == ch && s2[len2 - 1] != ch)
        {
            printf("YES\n");
        }
        else if(s1[len1 - 1] != ch && s2[len2 - 1] == ch)
        {
            printf("NO\n");
        }
        else if(s1[len1 - 1] == ch && s2[len2 - 1] == ch)
        {
            first1 = fun(s1, len1);
            first2 = fun(s2, len2);
            if(first1 > first2)
            {
                printf("YES\n");
            }
            else
            {
                printf("NO\n");
            }
        }
        else if(s1[len1 - 1] != ch && s2[len2 - 1] != ch)
        {
            first1 = fun(s1, len1);
            first2 = fun(s2, len2);
            if(first1 > first2)
            {
                printf("YES\n");
            }
            else
            {
                printf("NO\n");
            }
        }
    }
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值