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");
}