发牌

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// 一个模拟发牌的程序。<br>#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define NUM_SUITS  4
#define NUM_RANKS  13
#define TRUE   1
#define FALSE  0
 
typedef int Bool;
 
main()
{
    Bool in_hand[NUM_SUITS][NUM_RANKS] = {0};
    int num_cards, rank, suit;
    const char rank_code[] = {'2', '3', '4', '5', '6', '7', '8', '9', 't', 'j', 'q', 'k', 'a'};
//  const char suit_code[] = {'c', 'd', 'h', 's'};
    const char suit_code[] = {'T', 'X', 'M', 'F'};
    srand((unsigned) time(NULL));
 
    printf("Enter number of cards in hand: ");
    scanf("%d", &num_cards);
 
    printf("Your hand: ");
    while (num_cards > 0)
    {
        // picks a random suit
        suit = rand() % NUM_SUITS;
        // picks a random rank
        rank = rand() % NUM_RANKS;
        if (!in_hand[suit][rank])
        {
            in_hand[suit][rank] = TRUE;
            num_cards--;
            printf(" %c%c", rank_code[rank], suit_code[suit]);
        }
    }
 
    printf("\n");
 
    return 0;
}

 

posted @   He_LiangLiang  阅读(419)  评论(1编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示