C语言中,随机生成包含1到12的12个数的数字序列,且每个数字只能出现一次
问题描述
产生一个包含1-12的随机序列,并且序列长度为12,并且1-12每个数字只能出现一次。
问题解析
待完善。
代码
int getPoint(int a[])
{
srand(time(NULL));
int point = rand() % 12;
if (a[point] == 13)
{
point = getPoint(a);
}
return point;
}
int main(void)
{
int a[12] = { 1,2,3,4,5,6,7,8,9,10,11,12 };
int b[12] = { 0 };
int i,j;
int point;
srand((unsigned)time(NULL));
for(i = 0;i < RAND_LEN ;i++)
{
point = getPoint(a);
b[i] = a[point];
a[point] = 13;
}
for (j = 0; j < RAND_LEN ; j++)
{
printf("%2d ", b[j]);
}
printf("\r\n");
return 0;
}
运行结果

文档结束。