扑克游戏1

任务描述
 
  1. 老师给X同学留了一个任务:扑克游戏中的牌型判断。
输入格式:
 
  1. 输入的第一行,是一个整数N,表示有N组数据。
  2. 接下来的N行是N组数据,每一行数据有3张扑克牌,
  3. 例如:5S 6H 12C,其中数字表示点数(2-10分别代表2点到10点的牌,14代表A,11、12、13代表J、Q、K),
  4. 字母表示花色的第一个字符,黑桃(Spade)、红桃(Heart)、梅花(Club)、方块(Diamond)。
  5. 以上3张牌为黑桃5、红桃6、方块Q。
输出格式:
 
  1. 输出N行,每一行输出一个单词,表示一组数据三张牌的最大牌型,空格后再输出此牌型的(最大)点数。
  2. 所有牌型从大到小排列如下(豹子>同花顺>顺子>同花>对子>花牌):
  3. (1)豹子(Leopard):三张牌点数一样,如5S 5H 5C。
  4. (2)同花顺(Flush straight):三张牌同花色且点数恰好相邻,如5S 6S 7S。
  5. (3)顺子(Straight):三张牌点数恰好相邻,但不同花色,如10H 11D 12C。
  6. (4)同花(Same kind):三张牌花色相同,点数不全相同,如8H 5H 11H。
  7. (5)对子(Pair):花色不全相同,两张牌点数相同,如11H 5C 11D。
  8. (6)花牌(General):花色不全相同,点数全不相同,如:5D 6C 8H。
输入样例:
 
  1. 6
  2. 8H 8D 8C
  3. 5S 7S 6S
  4. 11C 12D 10S
  5. 1C 5C 6C
  6. 10C 8D 8H
  7. 5D 6H 12C
输出样例:
 
  1. Leopard 8
  2. Flush straight 7
  3. Straight Q
  4. Same kind 6
  5. Pair 8
  6. General Q

开始你的任务吧,祝你成功!

#include<stdio.h>
#include<math.h>
int main (){

    int n;
    scanf("%d",&n);

    int a,b,c;
    char x,y,z;
    for(int i=1;i<=n;i++){
        scanf("%d%c %d%c %d%c",&a,&x,&b,&y,&c,&z);
        int t;
        if(a>b){
            t=a; a=b; b=t;
        }
        if(a>c){
            t=a; a=c; c=t;
        }
        if(b>c){
            t=b; b=c; c=t;
        }
       if((a<11)&&(b<11)&&(c<11)){
    
        if(a==b&&a==c){                        
            printf("Leopard %d\n",c);           //豹子
        }
        else if(x==y&&x==z&&a==b-1&&b==c-1){
            printf("Flush straight %d\n",c);       //同花顺
        }
        else if(a==b-1&&b==c-1){
            printf("Straight %d\n",c);       //顺子
        }
        else if(x==y&&x==z){
            printf("Same kind %d\n",c);       //同花
        }
        else if(a==b||b==c){
            printf("Pair %d\n",b);       //对子
        }
        else {
            printf("General %d",c);
        }
       }

        if(c>=11){
            if(a==b&&a==c){                        
            printf("Leopard "); 
            switch(c) {
                case 11:{
                    printf("J\n");
                    break;
                }
                case 12:{
                    printf("Q\n");
                    break;
                }
                case 13:{
                    printf("K\n");
                    break;
                }
                case 14:{
                    printf("A\n");
                    break;
                }
            }      
        }
        else if(x==y&&x==z&&a==b-1&&b==c-1){
            printf("Flush straight "); 
            switch(c) {
                case 11:{
                    printf("J\n");
                    break;
                }
                case 12:{
                    printf("Q\n");
                    break;
                }
                case 13:{
                    printf("K\n");
                    break;
                }
                case 14:{
                    printf("A\n");
                    break;
                }
            }        
                  
        }
        else if(a==b-1&&b==c-1){
            printf("Straight ");   
            switch(c) {
                case 11:{
                    printf("J\n");
                    break;
                }
                case 12:{
                    printf("Q\n");
                    break;
                }
                case 13:{
                    printf("K\n");
                    break;
                }
                case 14:{
                    printf("A\n");
                    break;
                }
            }            
        }
        else if(x==y&&x==z){
            printf("Same kind ");   
            switch(c) {
                case 11:{
                    printf("J\n");
                    break;
                }
                case 12:{
                    printf("Q\n");
                    break;
                }
                case 13:{
                    printf("K\n");
                    break;
                }
                case 14:{
                    printf("A\n");
                    break;
                }
            }            
        }
        else if(a==b||b==c){
            printf("Pair ");    
            switch(b) {
                case 2:{
                    printf("%d\n",b);
                    break;
                }
                case 3:{
                    printf("%d\n",b);
                    break;
                }
                case 4:{
                    printf("%d\n",b);
                    break;
                }
                case 5:{
                    printf("%d\n",b);
                    break;
                }
                case 6:{
                    printf("%d\n",b);
                    break;
                }
                case 7:{
                    printf("%d\n",b);
                    break;
                }
                case 8:{
                    printf("%d\n",b);
                    break;
                }
                case 9:{
                    printf("%d\n",b);
                    break;
                }
                case 10:{
                    printf("%d\n",b);
                    break;
                }
                case 11:{
                    printf("J\n");
                    break;
                }
                case 12:{
                    printf("Q\n");
                    break;
                }
                case 13:{
                    printf("K\n");
                    break;
                }
                case 14:{
                    printf("A\n");
                    break;
                }
            }        
        }
        else {
            printf("General ");
            switch(c) {
                case 11:{
                    printf("J\n");
                    break;
                }
                case 12:{
                    printf("Q\n");
                    break;
                }
                case 13:{
                    printf("K\n");
                    break;
                }
                case 14:{
                    printf("A\n");
                    break;
                }
            }        
        }
           
        }
    }

    return 0;
}

































 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值