[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off & SetLocal EnableDelayedExpansion
  2. set /a n=0,X=1,B_60=0,C_49=0
  3. :loop
  4. for %%a in (A B C D) do (
  5.     if "!_%%a!" neq "1" (
  6.         set /a %%a=!random!%%100+1
  7.         if defined %%a_!%%a! (set repeat=1) else set /a %%a_!%%a!=0,_%%a=1
  8.     )
  9. )
  10. if "%repeat%"=="1" set repeat=0 & goto loop
  11. set "X-%X%=!X-%X%!A-%a% B-%B% C-%C% D-%D% "
  12. set /a n+=1,_A=0,_B=0,_C=0,_D=0,1/(n%%10) 2>nul || set /a X+=1
  13. if %n%==30 set "X-3=!X-3:B-%B%=B-60!" & set "B_%B%="
  14. if %n%==80 set "X-8=!X-8:C-%C%=C-49!" & set "C_%C%="
  15. if %n% lss 100 goto loop
  16. for /l %%a in (1 1 10) do echo X-%%a: & echo !X-%%a! & pause & cls
复制代码
思路:
按班级顺序分配,学生是随机的。
一个班 10 次 goto,每次 goto 生成四个随机数(优等生、高等生、中等生、差等生),如果某个随机数定义过,则重复这次 goto。
原意是 100 次 goto,但不可能没有重复随机数...我计算了下,要 goto 一千次左右...

[ 本帖最后由 iti50i68j2h0 于 2010-6-28 22:04 编辑 ]
1

评分人数

TOP

返回列表