GroupNum定义的是小组个数,比如示例程序中,小组个数是9个,分别为第1组,第2组…
采用生成两个0~GroupNum-1的随机数,然后互换数组中的两个数字,达到乱序的目的。
使用时间初始化随机数种子。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define GroupNum 9
int group[GroupNum]={0};
void swap(int *a,int *b)
{
int temp;
temp=*a;
*a=*b;
*b=temp;
}
int main(){
int i,randnum1,randnum2;
srand((unsigned)time(NULL));
for(i=0;i<GroupNum;i++)
{
group[i]=i+1;
printf("%d ",group[i]);
}
printf("\n\r\n\r");
for(i=0;i<1000;i++)
{
randnum1=rand()%GroupNum;
randnum2=rand()%GroupNum;
swap(&group[randnum1],&group[randnum2]);
}
for(i=0;i<GroupNum;i++)
printf("%2d: %d 组\n\r",i+1,group[i]);
printf("\n\r\n\r");
}