[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
好复杂 。。。
  1. @echo off&setlocal enabledelayedexpansion
  2. set "str=12345670"
  3. for /l %%a in (1 1 7) do (
  4.    set "var=!str!"
  5.    for /l %%i in (1 1 4) do (
  6.      set "var=!var: =!"&set "num1=!var:~0,1!"&set "flag="
  7.      for /l %%b in (0 1 7) do set var=!var:%%b= %%b !
  8.      set "var2=!var:~2!"
  9.      for %%b in (!var2!) do (
  10.         if not defined flag (
  11.           if not defined .!Num1!%%b if not defined .%%b!Num1! (
  12.              set .!Num1!%%b=a&set .%%b!Num1!=a&set flag=a&set "t=!Num1!-%%b"
  13.              for %%i in (!num1! %%b) do set var=!var:%%i=!
  14.     )))
  15.      set "#%%a=!#%%a! !t!"
  16.     )
  17.     echo 第 %%a 天 !#%%a!
  18. )
  19. echo=&pause
复制代码

[ 本帖最后由 随风 于 2009-5-27 01:16 编辑 ]
1

评分人数

    • sjzong: 非常感谢!深夜也在工作!PB + 5
技术问题请到论坛发帖求助!

TOP

回复 5楼 的帖子

好思路,不过代码好像可以更简单。
  1. @echo off&setlocal enabledelayedexpansion
  2. set "str=1234567"
  3. for /l %%i in (1 1 7) do (
  4.    set "str=!str:~1!!str:~0,1!"
  5.    set "var= !str:~0,-1!"
  6.    for /l %%a in (1 1 3)do set .%%i=!.%%i! !var:~%%a,1!-!var:~-%%a,1!
  7.    echo 第 %%i 天  !.%%i! !str:~-1!-0
  8. )
  9. echo=&pause
复制代码

[ 本帖最后由 随风 于 2009-5-27 11:50 编辑 ]
技术问题请到论坛发帖求助!

TOP

回复 7楼 的帖子

这种算法只适合队伍数为单数时,否则会有重复。
  1. @echo off
  2. set "zm=ABCDEFGHIJLMNOPQRSTUVWXYZ"
  3. :loop
  4. setlocal enabledelayedexpansion
  5. set /p n=请输入队伍的数量,只能是单数(从3—25):&cls
  6. set /a m=n/2,x=n%%2
  7. if !x! equ 0 endlocal&goto loop
  8. set "str=!zm:~0,%n%!"
  9. for /l %%i in (1 1 !n!) do (
  10.    set "str=!str:~1!!str:~0,1!"
  11.    set "var= !str:~0,-1!"
  12.    for /l %%a in (1 1 !m!)do set .%%i=!.%%i! !var:~%%a,1!-!var:~-%%a,1!
  13.    echo 第 %%i 轮对阵表:!.%%i!  轮空:!str:~-1!
  14. )
  15. echo=&endlocal&goto loop
复制代码
技术问题请到论坛发帖求助!

TOP

返回列表