我曾做过一个考试软件,里面分三种类型题目,我的做法是每一种类型都按这种
算法:该类型题库总数/该类型考试题数,得出该类型题目的步长,然后取一个在题
库总数范围之的随机数(可用系统的随机数或gettickcount()取系统流逝时间对题
库总数取模),然后在随机数位置取第一题,然后加上计算得出的步长(加上后的值
如果超出题库总数,将其减去题库总数),取第二题,接下去自然就是再加上步长,取第
三、四......题了,这种方法不会取到重复的题目,不同考生之间所取的题目也不
会相同。只要题库数量够大,不同考生取相同类型题目时,取题相同的情况也很少可能
出现。