随记洗牌发牌的C语言程序
时间: 2023-12-20 09:18:31 浏览: 52
以下是一个简单的随机洗牌发牌程序的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define DECK_SIZE 52
#define SUIT_SIZE 13
int main()
{
int deck[DECK_SIZE];
int i, j, temp;
// 初始化牌堆
for (i = 0; i < DECK_SIZE; i++)
{
deck[i] = i;
}
// 随机洗牌
srand(time(NULL));
for (i = 0; i < DECK_SIZE; i++)
{
j = rand() % DECK_SIZE;
temp = deck[i];
deck[i] = deck[j];
deck[j] = temp;
}
// 发牌
printf("Player 1's hand:\n");
for (i = 0; i < SUIT_SIZE; i++)
{
printf("%d ", deck[i]);
}
printf("\n\n");
printf("Player 2's hand:\n");
for (i = SUIT_SIZE; i < SUIT_SIZE * 2; i++)
{
printf("%d ", deck[i]);
}
printf("\n\n");
printf("Player 3's hand:\n");
for (i = SUIT_SIZE * 2; i < SUIT_SIZE * 3; i++)
{
printf("%d ", deck[i]);
}
printf("\n\n");
printf("Player 4's hand:\n");
for (i = SUIT_SIZE * 3; i < DECK_SIZE; i++)
{
printf("%d ", deck[i]);
}
printf("\n\n");
return 0;
}
```
这个程序首先初始化了一个52张牌的牌堆数组,然后使用`srand`和`rand`函数来进行随机洗牌。最后,程序按照四个玩家的顺序,从洗好的牌堆中取出各自的牌,输出给玩家。