编辑代码

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
struct
{
    char num;
    int pick;
}list[54];
int a[54]={0};
void Inite()   //初始化牌
{
    char num_list[13]={'A','2','3','4','5','6','7','8','9','T','J','Q','K'};
    int n=0;
    int rand_num[54];
    for(int j=0;j<13;j++)
    {
        for(int k=3;k<7;k++)
        {
            list[n].num=num_list[j];
            list[n].pick=k;
            n++;
        }
    }
    list[n].num='B';
    list[n].pick=1;
    list[n+1].num='S';
    list[n+1].pick=2;
}
void shuff()     //洗牌
{
    srand(time(NULL));
    for(int i=0;i<54;i++)
    {
        a[i]=rand()%54;
        for (int j=0;j<i;j++)
        {
            while(i==j)
            {
                i--;
            }
        }
    }
}
void print()  //发牌
{
    int n=0;
    printf("玩家一:");
    for(int i=0;i<51;i++)
    {
        if(i%3==0)
        {
            printf("%C%C",list[a[i]].num,list[a[i]].pick);
        }
    }
    printf("\n玩家二:");
    for(int i=0;i<51;i++)
    {
        if(i%3==1)
        {
            printf("%C%C",list[a[i]].num,list[a[i]].pick);
        }
    }
    printf("\n玩家三:");
    for(int i=0;i<51;i++)
    {
        if(i%3==2)
        {
            printf("%C%C",list[a[i]].num,list[a[i]].pick);
        }
    }
    printf("\n底牌:");
    for(int i=53;i>50;i--)
    {
        printf("%C%C",list[a[i]].num,list[a[i]].pick);
    }
}
int main()
{
    for(int i=0;i<3;i++)
    {
        Inite();
        shuff();
        print();
        printf("\n");
    }
    return 0;
}