根据用户需求,进行随机发牌

分析:
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 }

 

posted @ 2013-11-11 15:29  intj_zhouy  阅读(245)  评论(0编辑  收藏  举报