本帖最后由 broly 于 2011-8-18 01:15 编辑
这种题,主要是算法的问题,只要找到算法,就可以做出来了
N阶蛇形输出:- @echo off
- setlocal enabledelayedexpansion
- set /p n=输入整数阶数n(n^>0):
- set /a line=%n%-1,line2=%n%*2-1,x=1
-
- for %%o in (%n% %line%) do (
- if %%o equ %n% (set "run=1 1 %n%") else (set "run=%line% -1 1")
- for /l %%i in (!run!) do (
- set str=
- set /a mod=%%i%%2
- for /l %%j in (1 1 %%i) do (
- set /a sum+=1
- if !mod! equ 1 (
- set "str=!sum! !str!"
- ) else (
- set "str=!str! !sum!"
- )
- )
-
- set y=1
- if %%o equ %line% set /a y+=%n%-%%i
-
- for %%j in (!str!) do (
- set ary[!x!][!y!]=%%j
- set /a y+=1
- )
- set /a x+=1
- )
- )
-
- for /l %%i in (1 1 %n%) do (
- for /l %%j in (1 1 %line2%) do (
- if defined ary[%%j][%%i] (
- set /p=!ary[%%j][%%i]! <nul
- set /a count+=1
- set /a mod=!count!%%%n%
- if !mod! equ 0 echo.
- )
- )
- )
-
- pause>nul
复制代码
|