随即分组,随机安排进考场,求大神讲讲怎么实现

问题描述

[size=13px]我在做一个随机分配考试的系统,里面有一个随机考试系统,需要达成的目标是这样的。首先呢,是有十二个固定的考场,100个人来参加考试。然后,这样进行:1、先随机把100个人打乱顺序;把12个考场也打乱顺序,也就是说不是1,2,3,4,5号考生进1,2,3,4,5考场,而是可能1号进5号考场,2号进4号考场,3号进7号考场这样子。2、挨个叫,叫到1号,1号进随机的一个考场考试,考完之后再随机选一个考场去考试,直到把12个考场轮转一圈,算是考完结束。3、以此类推。这个我想了很久,试了好多种方法,不是重复随机,就是无法实现,所以特求论坛里的各位大神教教我怎么实现这个功能?求核心代码……[/size]

解决方案

解决方案二:
是不是还漏掉什么
解决方案三:
每一个人的考试“历史”,作为每一个人的属性,要记录下分别进过哪些考场。这样你在分配“下一个考场”时就能够排除重复考场了。
解决方案四:
核心代码:int[]考生=Enumerable.Range(1,100).OrderBy(x=>Guid.NewGuid()).ToArray();
解决方案五:
只要学生乱序就可以了,具体代码上面已经有了,按guid排序,然后顺序排到教室就行了,一次随机和两次随机并没太大不同
解决方案六:
每一个学生考12次,不能重复进入同一个考场。
解决方案七:
而且,从lz的题目中,其实也没有说“所有的100个学生考完了一次,才统一分配下一个考场”。所以这个“分配下一个考场”的行为,实际上应该针对单个学生而设计。这样一个学生只要在一个考场考完了,他就可以提前进入下一个考场,而不用等着其它学生也考完。
解决方案八:
引用楼主qq_33824518的回复:

1、先随机把100个人打乱顺序;把12个考场也打乱顺序,也就是说不是1,2,3,4,5号考生进1,2,3,4,5考场,而是可能1号进5号考场,2号进4号考场,3号进7号考场这样子。2、挨个叫,叫到1号,1号进随机的一个考场考试,考完之后再随机选一个考场去考试,直到把12个考场轮转一圈,算是考完结束。3、以此类推。

你应该先画一个流程图,以便说明你的2步骤中是处理“挨个叫”和“进随机的一个考场”是如何取1步骤的结果的。实际上你在问题中提出的“试了好多种方法,不是重复随机,就是无法实现”,在你的2.描述中(最后半句话)一笔带过。这说明你的流程没有考虑清楚,连可操作性的描述都还不能写出来,就开始写代码了。因此你需要画一个流程图,先把你的问题到底在哪一步有问题(你并不是第一步有问题),说清楚。
解决方案九:
publicclassTested_List//考场以及对应得分{publicstringTest_Address_ID;//考场1,2,3,……12中的一个publicfloatTest_Score;}publicclassTester{publicstringTester_ID;//考生编号,1,2,3,……100中的一个publicList<Tested_List>Tested=newList<Tested_List>();//该考生已经考过的考场以及对应的得分publicTester(stringp_tester_id){Tester_ID=p_tester_id;}}……//定义公共工作listList<Tester>Tester_List;//初始化Tester_List=newList<Tester>();for(inti=1;i<=100;i++){Tester_List.Add(newTester(i.ToString()));}//开始叫号://根据他提供的编号,在Tester_List里查找对应元素temp_T;然后产生一个1,12之间的随机数,并且该随机数不能是在temp_T里已经存在的考场编号,如果temp_T中Tested数组长度达到了12,就退出,否则,把该随机数加入Tested,并通知考生去考试……

至于成绩,你需求里没说,应该是考完了自动写入
解决方案十:
总的意思是某一个考生考完了的考场以及成绩,要记录下来,以便在下一次抽取考场时参考,考过的就不要再去了

时间: 2024-09-22 21:22:15

随即分组,随机安排进考场,求大神讲讲怎么实现的相关文章

C# Fortran混编,懂得进,求大神指导

问题描述 在C#混合编程中,我有一段Fortran程序已经编译成DLL文件了.Fortran如下:SUBROUTINECOR(X,Y,Z,NT,CORY,CORZ,CORYZ)!DEC$ATTRIBUTESDLLEXPORT::COR!DEC$ATTRIBUTESALIAS:'DLL1'::DLL1DIMENSIONX(-50001:50001),Y(-50001:50001)DIMENSIONZ(-50001:50001)DIMENSIONCORY(-50001:50001),CORZ(-50

针对一个项目的开发语言选择的问题,有项目经验者请进,求大神指教

问题描述 本人是学生,导师现有一个项目交给我做,项目功能需求大体如下:1.电脑作为上位机,一台仪器作为下位机,上位机通过网口(TCP/IP协议)从下位机获取数据.2.下位机每次穿上的数据大小为20000Bytes,每秒钟传输1000次,上位机实时接收数据,并对数据进行解析,解析后进行一些运算(如高斯拟合),然后根据需要绘制波形,显示数据.3.上位机也要向下位机发送少量数据,用于控制下位机工作.导师现在要求我用VC++来做(导师在软件方面也没有经验),但是VC++开发界面的确稍显繁琐,我的想法是能

java 人员抽取系统-人员随即抽取系统求大神指导

问题描述 人员随即抽取系统求大神指导 抽取人员表:rycq显示字段:类型type.人员部门dep.人员姓名name.人员工号(唯一)num.人员sapid.录入人员person.录入时间time:要求:1:能够填写抽取人员数m:2:能够根据不同类型的人员抽取(比如能选择抽取汽机人员2名,则其他人员n-2名,有多个类型):3:能够抽取除固定人数外的人员(比如固定n人则再抽取m-n人),并显示n人的 数据4:能够抽取排除人员之后的人员(比如排除人员为n人 则在 总数-n 中抽取m个人)5:在网页上抽

浏览器不知道怎么了,进不去网页,出现以下这个界面,这种情况怎么解决?求大神解答

问题描述 浏览器不知道怎么了,进不去网页,出现以下这个界面,这种情况怎么解决?求大神解答 400Bad Request 400 Bad Request nginx 解决方案 除了q107770540 说的这些,看一下DNS cache 解决方案二: 打开IE 在"Internet选项"里选择删除COOKIES 删除文件就可以了答3023案补充够详细的了.答3023案补充打开IE(你看网页的那个),然后点"工具"--Internet选项--Internet临时文件--

微信分组发送-微信群发消息 出错,求大神

问题描述 微信群发消息 出错,求大神 请求图文消息 post的json {"filter":{"group_id":"103"},"mpnews":{"media_id":"NJdvqJn1PClTb6tFVrbnyOsLRsbIiumwvrlDO_Ty4j6OGiFQ495x- JFjFy0HKghN"},"msgtype":"mpnews"}

大数据-orcale大量数据分组查询报错求大神指点

问题描述 orcale大量数据分组查询报错求大神指点 对一个表数据进行分组查询,但是数据量太大了,当时是3000w条,跑着就报错了,数据库内部错误,也不是很懂.想请教下group by的时候是否数据量太多会报错,如果是它可以承受多大的数据量分组查询. 解决方案 肯定会报错,数据量大就会请求超时 解决方案二: 建议使用索引,给需要分组的字段加索引 解决方案三: 你可以试试根据你当前数据库的配置情况,进行分组查询的时候,使用多线程的方式进行查询 例如: select /*+ parallel(t,1

编程题-求大神破解一个算法,手机号转为6位数的16进制的数好像是!!

问题描述 求大神破解一个算法,手机号转为6位数的16进制的数好像是!! 输入 -------------------------**输出** 18019617815-------------C90381 18012509150-------------32ECB9 18120150106@njxy-----CC6AAF 18120150151@njxy-----F2F3F6 求大神能看出来这是什么算法,怎么计算的

xml-ASP数据插入XML,插进某个节点内。求大神

问题描述 ASP数据插入XML,插进某个节点内.求大神 10C 图片说明](http://img.ask.csdn.net/upload/201512/21/1450678470_554406.png) 图片说明](http://img.ask.csdn.net/upload/201512/21/1450678593_204250.png)想添加的数据放进: 里面,而不是外面. private string filePath = string.Empty; public void Addxml(

求大神解答关于java string字符串的问题,现有如下要截取,希望按括号分组

问题描述 求大神解答关于java string字符串的问题,现有如下要截取,希望按括号分组 如下字符串:希望每个括号之间的内容分一组变成子字符串,或者输出到文本每个括号之间的内容为一行.丢弃其余的部分 CF --> ('c1,t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t