根据用户需求,进行随机发牌
分析:
1.定义变量:
1.1 花色:char color[4]={‘m','h','e','f'};
点数:char spot[13]={'A','1','2',...,'10','j','q','k'};
标记已发的牌:int sig[4][13] = {0};初始化为0,已发的牌>标记为1
发牌张数:num
2.输入发牌张数
3.设置随机种子,生成随机数
4.循环,每次判断是否已发完,没有则生成一张牌
5.如果这张牌没有发,则发出这张牌(打印),并标记这张牌,牌张>数减一
1 #include <stdio.h> 2 3 int main() 4 { 5 char color[4] = {'m', 'h', 'e', 'f'};//花色 6 char spot[13] = {'A', '2', '3', '4', '5', '6', '7', '8', '9', 's', 'J', 'Q', 'K'};//点数 7 int sig[4][13] = {0};//标记发出的牌 8 int num = 0; //发牌张数 9 int i,j; 10 11 puts("请输入牌的张数:"); 12 scanf("%d", &num); 13 14 srand(time(0)); 15 while(num){ 16 i = rand()%4; 17 j = rand()%13; 18 if(!sig[i][j]){ 19 printf("%s%c ", color[i]=='m'?"梅花":(color[i]=='h'?"红桃":(color[i]=='e'?"黑桃":"方片")), spot[j]); 20 sig[i][j] = 1; 21 num--; 22 } 23 } 24 putchar('\n'); 25 }