该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#include
//运用结构体存储扑克牌的序号和花色
typedef struct card
{
char *color;
char *number;
}Card;
char colors[][5]={"黑桃","方块","红心","梅花"};
char numbers[][3]={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
void main()
{
Card cards[52];
int i,j;
srand(time(0));//记录时间
//初始化扑克牌
for(i=0;i<4;i++)
{
for(j=0;j<13;j++)
{
cards[i*13+j].color=colors[i];
cards[i*13+j].number=numbers[j];
}
}
printf("洗牌前:\n");
//打印输出初始化扑克牌
for(i=0;i<4;i++)
{
for(j=0;j<13;j++)
{
printf("%s%s ",cards[i*13+j].color,cards[i*13+j].number);
}
printf("\n");
}
printf("\n");
//开始洗牌--洗牌算法
for(i=0;i<52;i++)
{
int index=rand()%(52-i)+i;
Card temp;
temp.color=cards[i].color;
temp.number=cards[i].number;
cards[i].color=cards[index].color;
cards[i].number=cards[index].number;
cards[index].color=temp.color;
cards[index].number=temp.number; }
printf("洗牌后:");
for(i=0;i<4;i++)
{
for(j=0;j<13;j++)
{
printf("%s%s ",cards[i*13+j].color,cards[i*13+j].number);
}
printf("\n");
}
}