复制程式
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define N 52
int main(int argc, char* argv[])
{
int poker[N], sum = 0;
int i, j, tmp, remain;
// 初始化阵列
for(i = 0; i < N; i++){
poker[i] = i;
}
srand(time(0));
// 洗牌
for(i=0;i<N;i++){
j = rand() % N ;
tmp = poker[i];
poker[i] = poker[j];
poker[j] = tmp;
}
for(i = 0; i < 10; i++) {
// 判断花色
switch((poker[i] / 13)) {
case 0: printf("H"); break;
case 1: printf("D"); break;
case 2: printf("C"); break;
case 3: printf("S"); break;
}
// 扑克牌数字
remain = (poker[i] % 13)+1;
//点数相加
sum = sum + remain;
switch(remain) {
case 13: printf("K "); break;
case 12: printf("Q "); break;
case 11: printf("J "); break;
default: printf("%d ", remain); break;
}
}
printf("\n");
printf("SUM : %d\n",sum);
return 0;
}
//////////////////////////////////////
C6 D8 H6 DQ C1 D4 CJ D7 C2 SJ
SUM : 68
//////////////////////////////////////
作法 : 52张牌 填进 poker[52] = 0~51
poker
/ 13 => row
(poker % 13) +1 => col (必须+1 shift 1~52)