#include "stdio.h"
#include "stdlib.h"
#include "time.h"
int main()
{
//黑桃:spade,红心:hearts,草花:flower,方块:diamonds
//King(大王)、Tetrarch(小王)
//2、3、4、5、6、7、8、9、10、J、Q、K、A
char * poker[54] = {"S2","S3","S4","S5","S6","S7","S8","S9","S10","SJ","SQ","SK","SA",
"H2","H3","H4","H5","H6","H7","H8","H9","H10","HJ","HQ","HK","HA",
"F2","F3","F4","F5","F6","F7","F8","F9","F10","FJ","FQ","FK","FA",
"D2","D3","D4","D5","D6","D7","D8","D9","D10","DJ","DQ","DK","DA",
"Tetrarch","King"};
int num[54];
//获取随机数 存储至数组num中
int i = 0;
//使用当前时间作为随机数种子来获取真正的随机数
time_t t;
srand((unsigned) time(&t));
while (1)
{
int temp = rand()%54;
int ret=0;
for (int j=0;j {
if (temp==num[j])
{
ret = 1;
break;
}
}
if (ret == 0)
{
num[i++] = temp;
}
if (i==54)
{
break;
}
}
//输出扑克牌,每4张换行一次
for (int k=0;k<54;k++)
{
if(k%4 == 0)
printf("\n");
printf("%s ",poker[num[k]]);
}
return 0;
}
输入效果:
D4 King H5 D3
SQ F6 FQ S4
FJ SK S9 F9
HA S7 S10 H10
D8 HK H3 HJ
F8 HQ D10 H7
F5 H6 S3 SA
DA D2 H4 H9
D6 DK D9 S5
S6 S8 F4 DJ
FA F3 S2 Tetrarch
D5 FK F2 DQ
F10 H2 F7 H8
SJ D7 请按任意键继续. . .
STL algorithm 有个将集合元素顺序打乱的函数
aslkfh():
dfahjkldfahks():dasf;
jakdsgladlkuadfh
dasaghlkdgh :
djasghlfkhl:
daglh{8997}
asklhg<574422889>
dakghdafkhl;()