在生活中难免会遇到需要对一群人进行拆分小组,对于大的课题组的研究生还会分组开组会汇报确定名单这个事情,针对这些问题写出了下面的代码
#include <iostream>
#include<math.h>
#include<fstream>
#define N 18//这个表示总的人数
#define n 6//这个表示每个小组的人数
#define A 18//这个表示排序的最大的序号数
#define B 1//这个表示排序的最小的的序号数
#define random(x) (rand()%x)
using namespace std;
int main()
{
int a[N];
for (int j = 0; j < N; j++)
{
C1: a[j] = (rand() % (A - B+ 1) + B);
for (int k = 0; k < j; k++)
{
if (j == 0)
{
break;
}
else if (a[j] == a[k])
{
goto C1;
}
}
cout << a[j] << "\t";
if ((j + 1) % n == 0)
{
cout << endl << endl;
}
}
system("pause");
return 0;
}
对代码中的数据作简要说明N表示排序的总数,n表示一个小组的数量。其中A B 分别是随机数取的上下限,A-B=N-1。后期可能还会做一个利用花名册来碎金分小组。