#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
char card;
int i,m[100],a,b,n=0,count=0;
int name=1;
srand((unsigned)time(NULL));//修改种子
for (i = 0; i <52; i++)
{
a= rand()%52;//0-51的数字
m[i]=a;
for(b=0;b<i;b++)
{ if(m[b]==a) n=1;//n=1为判断条件
}
if(n==1)
{ i--;//重新取随机数
n=0;//将n的值变回去
}
}
printf("player %d: ",name);
for(i=0;i<52;i++)
{
if(m[i]<=12)
{ card="A234567890JQK"[m[i]];
printf("|%c",3); if(card=='0') printf("1");
//由于输出的只能是一个字符,故在0前加1表示10
printf("%c| ",card);count++;
}
if(m[i]>12&&m[i]<=25)
{ card="A234567890JQK"[m[i]-13];
printf("|%c",4); if(card=='0') printf("1");
printf("%c| ",card);count++;//为换行做判断
}
if(m[i]>25&&m[i]<=38)
{ card="A234567890JQK"[m[i]-26];
printf("|%c",5); if(card=='0') printf("1");
printf("%c| ",card);count++;
}
if(m[i]>38&&m[i]<=51)
{ card="A234567890JQK"[m[i]-39];
printf("|%c",6); if(card=='0') printf("1");
printf("%c| ",card);count++;
}
if(count%13==0&&count!=52)
{ printf("\n"); name++; printf("player %d: ",name);
}
}
return 0;
}
c语言-简单发牌(除大小王)
最新推荐文章于 2024-05-10 21:19:36 发布
本文介绍了一个使用C语言实现的简单程序,该程序能够模拟一副扑克牌的洗牌过程,并将其随机分配给玩家。通过使用随机数生成器并确保每张牌只被分配一次,实现了较为真实的发牌体验。
1068

被折叠的 条评论
为什么被折叠?



