[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
每个班规定40人吗
那两个开后门的是差等生,还是?
那个所谓的办法,能用文字表达一下吗?
技术问题请到论坛发帖求助!

TOP

应该不难,但要求简洁。。。只怕有难度。
技术问题请到论坛发帖求助!

TOP

开后门还真是有难度,思考中。。。。。
技术问题请到论坛发帖求助!

TOP

假设两个后门学生都在一个班呢?
又或者都在3班或8班呢?
1

评分人数

    • batman: 这我真没想到,汗水。。。PB + 5
技术问题请到论坛发帖求助!

TOP

为了开这个后门,导致代码又长又多作许多无用功,汗,找不到更好的方法,先凑合着用
思路:
先将400名学生分成4组,再乱序,然后在每班每组按顺序取10个,
并同时记录下后门学生所在班级,再记录下3班一名高等生和8班一名差等生
最后把3班的这名高等生编到b60所在班,把b60强行编到3班
8班也是

:
  1. @echo off&setlocal EnableDelayedExpansion
  2. for %%a in (a b c d) do call :loop %%a
  3. for /l %%a in (1 1 10) do (
  4.    set /a t+=1,w+=10
  5.    for %%i in (a b c d) do (
  6.       for /l %%j in (!t! 1 !w!) do (
  7.          set #%%a=!#%%a! !.%%i%%j!
  8.          set tmp=!.%%i%%j!
  9.          if "!.%%i%%j!"=="b60" set j=%%a
  10.          if %%a equ 3 if "!tmp:~0,1!"=="b" if not "!tmp!"=="b60" set t3=!tmp!
  11.          if "!.%%i%%j!"=="c49" set wen=%%a
  12.          if %%a equ 8 if "!tmp:~0,1!"=="c" if not "!tmp!"=="c49" set t8=!tmp!
  13.        )
  14.     )
  15.     set /a t=w
  16. )
  17. echo 两个后门学生原来所在班 !j!  !wen!&echo;
  18. for %%a in (!j!) do set #%%a=!#%%a:b60=! !t3!
  19. for %%a in (!wen!) do set #%%a=!#%%a:c49=! !t8!
  20. set #3=!#3! b60
  21. set #8=!#8! c49
  22. for /l %%a in (1 1 10) do (
  23.    echo %%a班
  24.    echo !#%%a!
  25.    echo;
  26. )
  27. pause&exit
  28. :loop
  29. for /l %%i in (1 1 100) do set .%1%%i=%1%%i
  30. for /l %%i in (1 1 100) do (
  31.     set /a rnd=!random!%%100+1
  32.     for %%j in (!rnd!) do set tmp=!.%1%%j!
  33.     set .%1!rnd!=!.%1%%i!
  34.     set .%1%%i=!tmp!
  35. )
  36. goto :EOF
复制代码
技术问题请到论坛发帖求助!

TOP

后门: 找出后门生所在的班, 再与后门生要去的目标班里的同类的第一个学生调换
假设3班的第一个学生是 c49 呢?考虑这个问题没有。
技术问题请到论坛发帖求助!

TOP

本想再写一个,看了16楼 netbenton 代码,感觉无论在效率还是简洁都以无法超越了,放弃。
赞一个。
技术问题请到论坛发帖求助!

TOP

回复 25楼 的帖子

感谢提醒
确实会这样,原因是只记得替换忘记删除原来的了
代码太垃圾,也懒的改了,汗,为了开个后门,代码比原来长了一倍~~~
技术问题请到论坛发帖求助!

TOP

返回列表