首页 > 试题广场 >

编程模拟洗牌和发牌过程。一副扑克有52张牌,分为4种花色(s

[问答题]

编程模拟洗牌和发牌过程。一副扑克有52张牌,分为4种花色(suit):黑桃(Spades)、红桃(Hearts)、草花(Clubs)、方块(Diamonds)。每种花色又有13张牌面(face):A 2,3,4,5,6,7,8,9,10,Jack,Queen,King。要求用结构体数组card表示52张牌,每张牌包括花色和牌面两个字符型数组类型的数据成员。

荷花浅露絮柳飘,泠蝉深鸣小舟摇。
红唇轻咬低眉浅,纤指轻缠弄小书。
#include <stdio.h>
#include <stdlib.h>
int i,j;
struct CARD
{
    char math[3];
    char suit[5];
};
struct CARD p[52],t;
char *a[13]={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
char *b[4]={"cao","fang","hei","red"};
void creat(struct CARD *p);
void creat(struct CARD *p)
{
    for(i=0;i<52;i++)
{
    strcpy(p[i].math,a[i%13]);
    strcpy(p[i].suit,b[i/13]);
}
for(i=0;i<52;i++)
{j=rand()%52;
t=p[i];
p[i]=p[j];
p[j]=t;}
}
int main()
{

creat(p);
for(i=0;i<52;i++)
   printf("%5s %5s\n",p[i].suit,p[i].math);
    return 0;
}


发表于 2022-12-23 18:02:52 回复(0)