用C语言有52张牌,花色a,b,c,d,数字1-13: a1,a2,a3,...a13,b1,b2,...,b13, c1,c2,...,c13,d1,d2,...,d13. 随机发给一个人13张牌。
时间: 2023-05-24 14:01:39 浏览: 140
这个问题涉及到随机数生成,可以使用rand()函数来完成。具体实现可以参考以下代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
char cards[52] = {'a', '1', 'a', '2', 'a', '3', 'a', '4', 'a', '5', 'a', '6', 'a', '7', 'a', '8', 'a', '9', 'a', '10', 'a', '11', 'a', '12', 'a', '13', 'b', '1', 'b', '2', 'b', '3', 'b', '4', 'b', '5', 'b', '6', 'b', '7', 'b', '8', 'b', '9', 'b', '10', 'b', '11', 'b', '12', 'b', '13', 'c', '1', 'c', '2', 'c', '3', 'c', '4', 'c', '5', 'c', '6', 'c', '7', 'c', '8', 'c', '9', 'c', '10', 'c', '11', 'c', '12', 'c', '13', 'd', '1', 'd', '2', 'd', '3', 'd', '4', 'd', '5', 'd', '6', 'd', '7', 'd', '8', 'd', '9', 'd', '10', 'd', '11', 'd', '12', 'd', '13'};
char hand[13];
srand(time(NULL));
for (int i = 0; i < 13; i++) {
int index = rand() % 52;
hand[i] = cards[index];
}
for (int i = 0; i < 13; i++) {
printf("%c ", hand[i]);
}
printf("\n");
return 0;
}
```
这份代码会在控制台上输出13张随机牌,每一张牌由一个字符表示。具体输出结果会因为随机数的不同而有所差异。
阅读全文