/************************
要求将下列名单随机分组:分组要求,随机选择4个人组成一组
输出结果:4个人一行进行输出,每行代表一个组
例如:
许新华 王玉恒 陶小康 王娇娇
盛 开 郑 丹 陈 芳 张 龙
陈梦玉 祝秋培 吴赟鹏 胡光兴
曾从威 边金鹏 陈逸伦 王 琦
刘加封 徐煜清 姚 笛 孔海宇
孙凌霄 王 鹏 王 虎 李 峰
周 波 蒋恺均 徐小蕤 缪 峰
刘江涛 陈 喆 方文倩 崔雅倩
陈 程 陈振宇 李 森 陈志辉
李鸿飞
人名:
曾从威
蒋恺均
刘江涛
崔雅倩
祝秋培
吴赟鹏
李鸿飞
王 虎
缪 峰
张 龙
刘加封
姚 笛
郑 丹
孔海宇
陈逸伦
徐煜清
陈 喆
盛 开
方文倩
边金鹏
陈振宇
陶小康
孙凌霄
王玉恒
王娇娇
许新华
胡光兴
周 波
王 鹏
李鸿飞
陈 程
徐小蕤
李 峰
王 琦
陈梦玉
陈志辉
李 森
陈 芳
**************************/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
const char *name[] =
{
"曾从威" ,
"蒋恺均" ,
"刘江涛" ,
"崔雅倩" ,
"祝秋培" ,
"吴赟鹏" ,
"李鸿飞" ,
"王 虎" ,
"缪 峰" ,
"张 龙" ,
"刘加封" ,
"姚 笛" ,
"郑 丹" ,
"孔海宇" ,
"陈逸伦" ,
"徐煜清" ,
"陈 喆" ,
"盛 开" ,
"方文倩" ,
"边金鹏" ,
"陈振宇" ,
"陶小康" ,
"孙凌霄" ,
"王玉恒" ,
"王娇娇" ,
"许新华" ,
"胡光兴" ,
"周 波" ,
"王 鹏" ,
"李鸿飞" ,
"陈 程" ,
"徐小蕤" ,
"李 峰" ,
"王 琦" ,
"陈梦玉" ,
"陈志辉" ,
"李 森" ,
"陈 芳" ,
};
int len = sizeof(name)/sizeof(name[0]);
printf("len: %d\n",len);
//乱序种子
srand((unsigned)time(NULL));
int last = len-1; // 最后一个元素的下标
int i;
for(i =0;i < len; i++)
{
int index = rand() % len; // 产生一个随机数作为数组下标
const char *tmp = name[index];
name[index] = name[last];
name[last] = tmp;
last--;
}
for(i = 0;i< len; i++)
{
if(i % 4 == 0)
printf("\n");
printf("%12s",name[i]);
}
printf("\n");
return 0;
}