扑克牌发牌
相当于从54张牌中不放回抽取,每次一张,直至抽完。#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int i,j=0,k=0;
time_t t;
int str1={0}; //0-54,一共55个数
int str2={0};
for(i=0;i<55;i++);
{
str1=i;
}
i=0; //重置i
srand((unsigned)time(&t));
do
{
j=rand() % 55;
if(str1!=0&&j!=0)
{
k=j;
str1=0; //抽过的数字直接改为0方便判断是否抽过
str2=k;
i++;
}
}while(i<54);
for(i=0;i<54;i++)
{
printf("%d",str2);
}
return 0;
}
可是为啥我运行后总是卡住? 本帖最后由 jhq999 于 2021-10-18 16:00 编辑
for(i=0;i<55;i++);
i=0; //重置i
srand((unsigned)time(&t));
k=55;
do
{
j=rand() % k;
str2=str1;
str1=str1;
k--;
i++;
}while(i<54); jhq999 发表于 2021-10-18 15:55
for(i=0;i
感谢,抽到的数改成零这样太增加电脑工作量了,还是把它放到最后不再抽取好
页:
[1]