c语言一个随机问题

来源:百度知道 编辑:UC知道 时间:2024/06/14 17:57:12
c语言一个随机问题,Random是个封装函数,Random(4)表示从(0,1,2,3)随机选个数,先要实现一个功能,要显示10次,每次在(0,1,2,3)4个数随机选个数出来,但是每个数不能出现3次,而且每个数不能连续出现.比如出了1,下次就不能出1,在尽量变量最少的情况下,怎样实现这种功能

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void main()
{
int i=0, j, k=0;
int num[10];

srand(time(0));

while(i!=10)
{
num[i] = rand() % 4;
for (j=0; j<i; j++)
{
if (num[j] == num[i])
k++;
}
if (k>=3)
{
k = 0;
continue;
}
else
{
i++;
}
}

for(i=0; i<10; i++)
{
printf("%d,", num[i]);
}
}

以上代码可以实现你要的功能,Random函数你自己封装吧