该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
以下代码怎么错了?输出为输出的牌时总有错,而且J的发生率较高:
#include
#include
#include
#define NUM 54
void main()
{
char dete[]={'y'},poker[NUM][6]={"红桃A","红桃2","红桃3","红桃4","红桃5","红桃6","红桃7","红桃8","红桃9","红桃10","红桃J","红桃Q","红桃K","黑桃A","黑桃2","黑桃3","黑桃4","黑桃5","黑桃6","黑桃7","黑桃8","黑桃9","黑桃10","黑桃J","黑桃Q","黑桃K","方片A","方片2","方片3","方片4","方片5","方片6","方片7","方片8","方片9","方片10","方片J","方片Q","方片K","梅花A","梅花2","梅花3","梅花4","梅花5","梅花6","梅花7","梅花8","梅花9","梅花10","梅花J","梅花Q","梅花K","大鬼","小鬼"};
int i,j,t,m=1,n=1,p[NUM]={0};
do{
if((m*n)>54||(m*n)<1)
printf("Error input!There are only 54 pieces of poker");
printf("enter the amount of the piles:\n");
scanf("%d",&m);
printf("Enter the pieces of poker each pile\n");
scanf("%d",&n);
}
while((m*n)>54||(m*n)<1);
srand((unsigned)time(0));
for(i=0;i
{
for(j=0;j
{
do t=rand()%54;
while(p[t]!=0);
printf("%-7s",poker[t]);
p[t]=1;
}
printf("\n");
}
printf("未发的牌:\n");
for(i=0;i
if(p[i]==0)printf("%8s",poker[i]);
}