PTA - 扑克游戏

做PTA时发现题库存在这样一道题,虽然不难,但是我写出来感觉很冗沉,希望有大佬可以帮忙批评改正!任务描述老师给X同学留了一个任务:扑克游戏中的牌型判断。输入格式:输入的第一行,是一个整数N,表示有N组数据。接下来的N行是N组数据,每一行数据有3张扑克牌,例如:5S 6H 12C,其中数字表示点数(2-10分别代表2点到10点的牌,14代表A,11、12、13代表J、Q、K),字母表示花色的第一个字符,黑桃(Spade)、红桃(Heart)、梅花(Club)、方块(Diamond)。以上
摘要由CSDN通过智能技术生成

做PTA时发现题库存在这样一道题,虽然不难,但是我写出来感觉很冗沉,希望有大佬可以帮忙批评改正!

任务描述

老师给X同学留了一个任务:扑克游戏中的牌型判断。

输入格式:

输入的第一行,是一个整数N,表示有N组数据。
接下来的N行是N组数据,每一行数据有3张扑克牌,
例如:5S 6H 12C,其中数字表示点数(2-10分别代表2点到10点的牌,14代表A,11、12、13代表J、Q、K),
字母表示花色的第一个字符,黑桃(Spade)、红桃(Heart)、梅花(Club)、方块(Diamond)。
以上3张牌为黑桃5、红桃6、方块Q。

输出格式:

输出N行,每一行输出一个单词,表示一组数据三张牌的最大牌型,空格后再输出此牌型的(最大)点数。
所有牌型从大到小排列如下(豹子>同花顺>顺子>同花>对子>花牌):
(1)豹子(Leopard):三张牌点数一样,如5S 5H 5C。
(2)同花顺(Flush straight):三张牌同花色且点数恰好相邻,如5S 6S 7S。
(3)顺子(Straight):三张牌点数恰好相邻,但不同花色,如10H 11D 12C。
(4)同花(Same kind):三张牌花色相同,点数不全相同,如8H 5H 11H。
(5)对子(Pair):花色不全相同,两张牌点数相同,如11H 5C 11D。
(6)花牌(General):花色不全相同,点数全不相同,如:5D 6C 8H。

输入样例

6
8H 8D 8C
5S 7S 6S
11C 12D 10S
1C 5C 6C
10C 8D 8H
5D 6H 12C

输出样例

Leopard 8
Flush straight 7
Straight Q
Same kind 6
Pair 8
General Q


使用 c(gcc) 测评机:
#include <stdio.h>
int Find_max(int a, int b, int c)
{
   
    if (a > b)
    {
   
        if (b > c)
        {
   
            return a;
        }
        if (a > c)
        {
   
            return a;
        }
        return c;
    }
    else if (b > a)
    {
   
        if (a > c)
        {
   
            return b;
        }
        if (b > c)
        {
   
            return b;
        }
        return c;
    }
    return c;
}
int Find_min(int a, int b, int c)
{
   
    if (a < b)
    {
   
        if (b < c)
        {
   
            return a;
        }
        if (a < c)
        {
   
            return a;
        }
        return c;
    }
    else if (b < a)
    {
   
        if (a < c)
        {
   
            return b;
        }
        if (b < c)
        {
   
            return b;
        }
        return c;
    }
    return c;
}
void PD_pk(int a, int b, int c, char x, char y, char z)
{
   
    if (a == b && b == c)
    {
   
        printf("%s ", "Leopard");
        if (Find_max(a, b, c) > 1 && Find_max
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lales_胜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值