C语言,扑克牌发牌程序。要求运用结构体。多谢帮忙^o^

 我来答
百度网友2018359
推荐于2017-09-06 · TA获得超过3494个赞
知道大有可为答主
回答量:3486
采纳率:73%
帮助的人:1431万
展开全部

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
struct POKE
{
int num;  //小王-1, 大王-2 , A:1 , J:11 , Q:12 , K:13
int color; //黑1,红2,梅3,方4,小王5,大王6 
}s[54];

int main()
{
int i,num,color;
memset(s,0,sizeof(struct POKE)*54);
srand((unsigned)time(0));
i=rand()%54;
s[i].num=-1;    //小王 
s[i].color=5;
while(1)
{
i=rand()%54;
if(s[i].num==0)
{
s[i].num=-2;  //大王 
s[i].color=6;
break;
}
}
int count=2;
while(1)
{
num=rand()%13+1;
color=rand()%4+1;
i=rand()%54;
if(s[i].num==0)
{
s[i].num=num;
s[i].color=color;
count++;
if(count>=54)
{
break;
}
}
}
printf("\n顺序为:\n");
for(i=0;i<54;i++)
{
switch(s[i].num)
{
case -1: putchar(1);break;
case -2: putchar(2);break;
case 1: putchar('A');break;
case 11: putchar('J');break;
case 12: putchar('Q');break;
case 13: putchar('K');break;
default: printf("%d",s[i].num);
}
switch(s[i].color)
{
case 1: putchar(6);break;
case 2: putchar(3);break;
case 3: putchar(5);break;
case 4: putchar(4);break;
default: printf(" ");
}
printf(" ");
}
return 0;
}
追问
不用memset函数,如何将s[54]初始化?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式