[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 broly 于 2011-8-18 01:15 编辑

这种题,主要是算法的问题,只要找到算法,就可以做出来了

N阶蛇形输出:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /p n=输入整数阶数n(n^>0):
  4. set /a line=%n%-1,line2=%n%*2-1,x=1
  5. for %%o in (%n% %line%) do (
  6.         if %%o equ %n% (set "run=1 1 %n%") else (set "run=%line% -1 1")
  7.         for /l %%i in (!run!) do (
  8.                 set str=
  9.                 set /a mod=%%i%%2
  10.                 for /l %%j in (1 1 %%i) do (
  11.                         set /a sum+=1
  12.                         if !mod! equ 1 (
  13.                                 set "str=!sum! !str!"
  14.                         ) else (
  15.                                 set "str=!str! !sum!"
  16.                         )
  17.                 )
  18.                
  19.                 set y=1
  20.                 if %%o equ %line% set /a y+=%n%-%%i
  21.                
  22.                 for %%j in (!str!) do (
  23.                         set ary[!x!][!y!]=%%j
  24.                         set /a y+=1
  25.                 )
  26.                 set /a x+=1
  27.         )
  28. )
  29. for /l %%i in (1 1 %n%) do (
  30.         for /l %%j in (1 1 %line2%) do (
  31.                 if defined ary[%%j][%%i] (
  32.                         set /p=!ary[%%j][%%i]! <nul
  33.                         set /a count+=1
  34.                         set /a mod=!count!%%%n%
  35.                         if !mod! equ 0 echo.
  36.                 )
  37.         )
  38. )
  39. pause>nul
复制代码
---学无止境---

TOP

返回列表