#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#include<math.h>
void xipai();
void paixu();
void fapai();
int a[17],b[17],c[17],d[3];
int *p ,q;
int card[54];
void xipai()
{
int i,k;
int m[54];
srand((unsigned)time(NULL));
for(i=0;i<54;i++)
m[i]=i;
for(i=0;i<54;)
{
k=rand()%54;
if(m[k]!=99)
{
a[i]=m[k];m[k]=99; i++;
}
}
} //随机函数生成54个随机数
void paixu()
{
int i,j,k;
for(i=1;i<18;i++)
{
for(j=i;j<18;j++)
{
if (card[i]>card[j])
{
k=card[j];card[j]=card[i];card[i]=k;
}
}
}
for(i=18;i<35;i++)
{
for(j=i;j<35;j++)
{
if (a[i]>a[j])
{
k=card[j];card[j]=card[i];card[i]=k;
}
}
}
for(i=35;i<52;i++)
{
for(j=i;j<52;j++)
{
if (a[i]>a[j])
{
k=card[j];card[j]=card[i];card[i]=k;
}
}
}
for(i=52;i<55;i++)
{
for(j=i;j<55;j++)
{
if(card[i]>card[j])
{
k=card[j]; card[j]=card[i]; card[i]=k;
}
}
}
} //冒泡排序法进行排序
void fapai()
{
int t[99];
int i;
for(i=0;i<17;i++)
if(t[i]==0) break;
for(i=0;i<17&&t[i]!=0;i++)
switch((t[i]-1)/13)
{
case 0:{printf("方块");
if(t[i]==1) printf("A\t");
else if(t[i]==11) printf("J\t");
else if(t[i]==12) printf("Q\t");
else if(t[i]==13) printf("K\t");
else printf("%d\t",t[i]);break;}
case 1:{printf("梅花");
if(t[i]-13==1) printf("A\t");
else if(t[i]-13==11) printf("J\t");
else if(t[i]-13==12) printf("Q\t");
else if(t[i]-13==13) printf("K\t");
else printf("%d\t",t[i]-13);break;}
case 2:{printf("红桃");
if(t[i]-26==1) printf("A\t");
else if(t[i]-26==11) printf("J\t");
else if(t[i]-26==12) printf("Q\t");
else if(t[i]-26==13) printf("K\t");
else printf("%d\t",t[i]-26);break;}
case 3:{printf("黑桃");
if(t[i]-39==1) printf("A\t");
else if(t[i]-39==11) printf("J\t");
else if(t[i]-39==12) printf("Q\t");
else if(t[i]-39==13) printf("K\t");
else printf("%d\t",t[i]-39);break;}
case 4:{if(t[i]%13==1) printf("Queen\t");else printf("King\t");break;}
}
} //运用switch语句输出牌
void main()
{
int i;
p=&q;
xipai();
for(i=0;i<54;i++)
{
if(i<17) a[i]=*(p++);
else if(i<34) b[i-17]=*(p++);
else if(i<51) c[i-34]=*(p++);
else d[i-51]=*(p++);
}
printf("第一位的牌是:\n");
paixu();
fapai();
printf("\n\n第二位的牌是:\n");
paixu();
fapai();
printf("\n\n第三位的牌是:\n");
paixu();
fapai();
printf("\n\n底牌是:\n");
paixu();
fapai();
}