c语言求解答不会写。

用一副牌斗地主作为家喻户晓的娱乐活动,我们拿到牌时,首先得理牌,现在我们需要在手中的牌内找出最大的“炸弹”(为了 方便统计,我们的牌大小为A.2.3... 10, JQK,4张相同的牌为“炸弹”),如果没

输入说明: -行由.,.....10,J,Q,K组成的牌,不含王,4<-牌张数<=52

输出说明:输出找到最大的“炸弹”的牌面信息。

输入样例:

AAA234555599A67910JQK

输出样例:

5

c#?


#include <stdio.h>
int main() {
    char s[200],c;
    int i,a[13]={0},max=0,flag=0;

    scanf("%s",&s);
    for(i=0;s[i]!='\0';i++){
        if(s[i]>='2'&&s[i]<='9'){
            a[s[i]-'0']++;
        }
        else if(s[i]=='J'){
            a[11]++;
        }
        else if(s[i]=='Q'){
            a[12]++;
        }
        else if(s[i]=='A'){
            a[1]++;
        }
        else if(s[i]=='1'){
            a[10]++;
            i++;
        }
        else {
            a[13]++;
        }
        
    }
    for(i=13;i>0;i--){
       if(a[i]>=4){
           flag=1;
            if(i<10)c=i+'0';
            else if(i==11)c='J';
            else if(i==12)c='Q';
            else if(i==1)c='A';
            else c='K';
            printf("%c",c);break;
        }
    }
    if(flag==0)printf("DAMN");
    
    return 0;
} 

img

#include <stdio.h>

int main()
{
    // Read input.
    char s[60];
    scanf("%s", s);

    // Convert input to numbers in range [1, ... 13].
    int cards[52];
    int n = 0;
    const char *p = s;
    while (*p)
    {
        switch (*p)
        {
        case 'A':
            cards[n] = 1;
            break;
        case 'J':
            cards[n] = 11;
            break;
        case 'Q':
            cards[n] = 12;
            break;
        case 'K':
            cards[n] = 13;
            break;
        case '1':
            p++; // read '0'
            cards[n] = 10;
            break;
        default:
            cards[n] = *p - '0';
            break;
        }
        n++;
        p++;
    }

    // Sort the numbers.
    for (int i = 0; i < n - 2; i++)
    {
        for (int j = i; j < n; j++)
        {
            if (cards[j] < cards[i])
            {
                int t = cards[i];
                cards[i] = cards[j];
                cards[j] = t;
            }
        }
    }

    // Find bomb.
    int i = 0;
    int bomb = 0;
    while (i < n)
    {
        int c = cards[i];
        int j = i + 1;
        while (j < n && cards[j] == c)
            j++;
        if (j - i == 4 && c > bomb)
            bomb = c;
        i = j;
    }

    // Output the bomb.
    if (bomb == 0)
    {
        printf("DAMN");
    }
    else
    {
        switch (bomb)
        {
        case 1:
            printf("A");
            break;
        case 11:
            printf("J");
            break;
        case 12:
            printf("Q");
            break;
        case 13:
            printf("K");
            break;
        default:
            printf("%d", bomb);
            break;
        }
    }

    return 0;
}