橫豎兩個數字塔的效果BAT批處理怎麼寫?

橫豎兩個數字塔的效果BAT批處理怎麼寫?
@echo off
for /l %%a in (0,1,1) do (
        for /l %%i in (0,1,9) do (
        for /l %%j in (0,1,%%i) do set /p=%%j<nul
        echo=
        )
)
pausehtml

我這個BAT能夠豎下來輸出2個數字塔,
0
01
012
0123
01234
012345
0123456
01234567
012345678
0123456789
0
01
012
0123
01234
012345
0123456
01234567
012345678
0123456789
若是我想達到以下圖的格式,橫向的效果要怎麼寫呢?
0          0
01         01
012        012
0123       0123
01234      01234
012345     012345
0123456    0123456
01234567   01234567
012345678  012345678
0123456789 0123456789
---------------------------------------------------------------------
回覆 1# battab
@echo off&setlocal enabledelayedexpansion
set "space=          "
for /l %%i in (0,1,9) do (
        set/a n=10-%%i,m=%%i-1
        for %%z in (!n!) do set t=!space:~,%%z!
        for /l %%j in (0,1,!m!) do set /p=%%j<nul
        set/p=%%i!t!<nul
        for /l %%j in (0,1,%%i) do set /p=%%j<nul
        echo,
)
pause
---------------------------------------------------------------------
@echo off & setlocal enabledelayedexpansion
for /l %%i in (0 1 9) do set "sp=!sp! "
for /l %%i in (0 1 9) do (
    set "s="
    for /l %%j in (0 1 %%i) do set "s=!s!%%j"
    set "str=!s!!sp!"
    echo,!str:~,11!!s!
)
pause
---------------------------------------------------------------------
繼續發另類解:
@echo off
%1 cmd /v /c @%0 :|more /t11&pause&exit學習

for /f "delims=U" %%a in ('cmd /u /c echo 唉') do set "tab=%%a"
for /l %%a in (0 1 9) do set str=!str!%%a&echo !str!!tab!!str!
---------------------------------------------------------------------
這個好 mark一下 留着用.
學習了..
---------------------------------------------------------------------
這樣簡化
@echo off&setlocal enabledelayedexpansion
for /l %%i in (0 1 9) do set "sp=!sp! "
for /l %%i in (0 1 9) do (
    set "str=!str!%%i"
    echo !str!!sp:~%%i!!str!
)
pause
---------------------------------------------------------------------
我也給個本身寫的,把第二個for的參數改下,橫向的能夠打印1,2,3,4,5,6........個數字塔
@echo off
for /l %%i in (0,1,9) do (
for /l %%j in (0,1,1) do (
for /l %%k in (0,1,10) do (
if %%k leq %%i (set /p =%%k<nul) else (set /p = <nul)
)
)
echo.
)
echo.
----------------------------------------------------------------
參考:http://bathome.net/thread-28624-1-2.htmlspa

相關文章
相關標籤/搜索