c语言扑克牌存牌,洗牌

#include<stdio.h>

#include<time.h>

#include<stdlib.h>

struct card{

    char suit;

    char face;

    };

    typedef struct card Card;

int main(){

int i,j;

Card puke[],t;

char face[]={'A','2','3','4','5','6','7','8','9','x','J','Q','K'};

char suit={3,4,5,6};

/*顺序存放扑克牌*/

for(i=0;i<=51;i++){

    puke[i].suit=suit[i/13];// i/0...12=0,i/13...26=1

    puke[i].face=suit[i%13];//i%0...12=0..12,i%13...25=0...12

}

rand(time(null));//以时间为参数生成随机数的函数;

for(i=0;i<52;i++){//随机发牌;也是洗牌,发52次每次随机一张排与顺序存储时的牌交换实现洗牌

j=rand()%52;

t=puke[i];puke[i]=puke[j];puke[j]=t;

}

for(i=0;i<52;i++)//输出洗牌后的结果

printf("%c%c\t",puke[i].suit,puke[i].face);

    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值