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

[文本处理] 批处理打印杨辉三角

要求:
1、至少打印十行;
2、不能纯粹使用echo;

附:杨辉三角
杨辉三角

杨辉三角是一个由数字排列成的三角形数表,一般形式如下:
       1
     1 1
    1 2 1
   1 3 3 1
  1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
杨辉三角最本质的特征是,它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和。

回复 3# 随风


    玩的6了

TOP

::实在无聊,拿 wudixin96 的杨辉三角来出出气。
::以 金字塔 显示输出试试。
::再加个 倒金字塔。
::
  1. @echo off&color 0e
  2. setlocal enabledelayedexpansion
  3. mode con: cols=130 lines=130
  4. :top
  5. cls
  6. ::set /p in=请输入行数:
  7. set in=23&set ab=1&set var=64
  8. if "%in%"=="" goto top
  9. if %in% geq 35 goto top
  10. if %in% leq 0 goto top
  11. echo %in%|findstr /r "^[0-9][0-9]*$">nul 2>nul||goto top
  12. set str=1
  13. for /l %%i in (1,1,%in%) do (
  14.    set num=
  15.    set num2=0
  16.    for %%a in (!str!) do (
  17.    set /a num2+=1
  18.    if !num2!==1 set "str1="
  19.    set /a num1=%%a+num
  20.    set "str1=!str1! !num1!"
  21.    set num=%%a
  22.    )
  23.    call :lis "!str1:~1!"
  24.    set "str=!str1! 0"
  25. )
  26. rem 再输出个倒 金字塔 玩玩。
  27. for /l %%a in (22 -1 1) do echo !nam%%a!
  28. for /l %%i in (1 1 3) do (
  29.   for %%a in (a b c d e f) do (
  30.   color 0%%a
  31.   ping/n 2 127.1>nul
  32.   ))
  33. exit
  34. :lis
  35. set max=%~1
  36. for /l %%a in (0 1 300) do (
  37. if not "!max:~%%a,1!"=="" set /a ci+=1
  38. )
  39. set /a ki=var-ci/2
  40. for /l %%a in (1 1 !ki!) do set kg= !kg!
  41. echo !kg!!max!
  42. set nam!ab!=!kg!!max!
  43. set /a ab+=1
  44. set ci=0&set kg=
  45. goto :eof
复制代码
技术问题请到论坛发帖求助!

TOP

呵呵,不错。

不过,不过最好 配有作者信息和解释说明,以利于其他人的阅读

TOP

返回列表