[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
CN-DOS貌似08年就有蛇形和螺旋矩阵的帖子,已经很久上不去了,翻了下自己写的,贴出来,没有补2位,顺时的。。。自己可以改改。


蛇形矩阵
  1. @echo off&setlocal enabledelayedexpansion
  2. set flag=i&set i=1&set j=1
  3. set /p n=输入阶数:
  4. set /a nn=n*n
  5. for /l %%a in (1,1,%nn%) do (
  6.     if %%a LSS 10 (set _!i!!j!= %%a) else set _!i!!j!=%%a
  7.     if !flag!==i (if !i! GTR 1 (set/a i-=1&set/a j+=1) else (set/a j+=1&set flag=j)) else (if !j! GTR 1 (set/a j-=1&set/a i+=1) else (set/a i+=1&set flag=i))
  8.     if !i! GTR %n% set/a i-=1&set/a j+=1
  9.     if !j! GTR %n% set/a i+=1&set/a j-=1
  10.     if !i! EQU %n% if defined _!i!!j! set/a j+=1&set flag=i
  11.     if !j! EQU %n% if defined _!i!!j! set/a i+=1&set flag=j
  12. )
  13. for /l %%m in (1,1,%n%) do (
  14.     for /l %%n in (1,1,%n%) do (
  15.        set /p =!_%%m%%n! <nul
  16.      )
  17.     echo.
  18. )
  19. pause>nul
复制代码
螺旋矩阵
  1. @echo off&setlocal enabledelayedexpansion
  2. set flag=i&set i=1&set j=1&set o=1
  3. set /p n=输入阶数:
  4. set /a nn=n*n
  5. set /a n1=n+1
  6. set _1%n1%=Sl挡&set _%n1%%n%=o顶&set _%n%0=re推
  7. for /l %%a in (1,1,%nn%) do (
  8.     if %%a LSS 10 (set _!i!!j!= %%a) else set _!i!!j!=%%a
  9.     if !flag!==i  (set/a j+=!o!) else set/a i+=!o!
  10.     if defined _!i!!j! (if !flag!==i (set flag=j&set/a i+=!o!&set/a j-=!o!) else (set flag=i&(set/a o=-!o!)&set/a i+=!o!&set/a j+=!o!))
  11. )
  12. for /l %%m in (1,1,%n%) do (
  13.     for /l %%n in (1,1,%n%) do (
  14.        set /p =!_%%m%%n! <nul
  15.      )
  16.     echo.
  17. )
  18. pause>nul
复制代码

TOP

返回列表