用C/C++进行随机分组的实现教程
程序员文章站
2022-06-17 19:06:04
用c/c++进行随机分组的实现教程
/************************
要求将下列名单随机分组:分组要求,随机选择4个人组成一组
输出结果:4个人一行进行输出,每行代表一个组...
用c/c++进行随机分组的实现教程
/************************ 要求将下列名单随机分组:分组要求,随机选择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; }
下一篇: Access数据库日常维护方法(优化)