随机发牌

#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <time.h>
typedef struct card
{
 char suit[10];
 char face[10];
}CARD;
void Deal(CARD *wCard);
void shuffle(CARD *wCard);
void FillCard(CARD wCard[],char *wFace[],char *wSuit[]);
int main()
{
 char *suit[] = {"Spades","Hearts","Clubs","Diamonds"};
 char *face[] = {"A","2","3","4","5","6","7","8","9,","10","Jack","Queen","King"};
 CARD card[52];
 srand (time(NULL));
 FillCard(card,face,suit);
 shuffle(card);
 Deal(card);
 system("pause");
 return 0;
}
/*函数功能:花色按黑桃,红桃,草花,方块的顺序,面值按A--K的顺序,排列52张牌*/
void FillCard(CARD wCard[],char *wFace[],char *wSuit[])
{
 int i;
 for(i = 0;i < 52;i++)
 {
  strcpy_s(wCard[i].suit,wSuit[i/13]);
  strcpy_s(wCard[i].face,wFace[i%13]);
 }
}
/*函数功能: 将52张牌的顺序打乱以模拟洗牌过程*/
void shuffle(CARD *wCard)
{
 int i,j;
 CARD temp;
 for(i = 0;i < 52;i++)
 {
  j = rand()%52;
  temp = wCard[i];
  wCard[i] = wCard[j];
  wCard[j] = temp;
 }
}
void Deal(CARD *wCard)
{
 int i;
 for(i = 0;i < 52;i++)
 {
  printf_s("%9s%9s%c",wCard[i].suit,wCard[i].face,i%2 ==0?'\n':'\t');
 }
 printf_s("\n");

}

转载于:https://www.cnblogs.com/joyclub/p/4423595.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值