#include <stdio.h>
#include <iostream>
#include <stdlib.h>
#include <time.h>
int Generic_rand(bool already[])
{
int i=rand()%53;
if(!already[i])
{
already[i]=true;//标记该位置的牌已经抽取过
}
else
{
while(already[i])//从该位置往后寻找第一个未抽得牌
{
i++;
if(i>=52)
i=0;
}
already[i]=true;
}
return i;
}
void main()
{
bool already[52]={false};
time_t t;
srand((unsigned)time(&t));
int r,k,time;
char *huase[4]={"*","$","@","&"};
char *dianshu[13]={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
for(int i=0;i<=51;i++)
{
time=Generic_rand(already);
r=time%4;
k=time%13;
printf("%s%s\n",huase[r],dianshu[k]);
}
}