c语言发牌程序随机函数,C语言洗牌发牌程序

11d828355c17e14f5134153587d4cc22.png

望远

#include 

#include

#include

typedef struct{

char *color;

char *number;

}Card;

void shuffle(Card cards[][13],int n,int m)

{

srand(time(0));

Card card[52];

Card tempCard;

int i,j;

for(i=0;i

{

for(j=0;j

{

card[i*13+j]=cards[i][j];

}

}

for(i=0;i<52;i++)

{

int temp=rand()%(52-i)+i;

tempCard=card[i];

card[i]=card[temp];

card[temp]=tempCard;

}

for(i=0;i<4;i++)

{

for(j=0;j<13;j++)

{

cards[i][j]=card[i*13+j];

}

}

}

void main()

{

char colors[4][10]={"红心","梅花","方块","黑桃"};

char number[][4]={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};

Card cards[4][13];//共52张牌(不考虑大小王)

int i,j;

for(i=0;i<=3;i++)

{

for(j=0;j<=12;j++)

{

cards[i][j].color=colors[i];

cards[i][j].number=number[j];

}

}

printf("洗牌前:\n");

for(i=0;i<=3;i++)

{

for(j=0;j<=12;j++)

{

printf("%s%s ",cards[i][j].color,cards[i][j].number);

}

printf("\n");

}

shuffle(cards,4,13);

printf("洗牌后:\n");

for(i=0;i<=3;i++)

{

for(j=0;j<=12;j++)

{

printf("%s%s ",cards[i][j].color,cards[i][j].number);

}

printf("\n");

}

}ps:我这里有一个用数组做的,希望对你有帮助。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值