[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
凑热闹 马步的
修改前面的set ".!h!-!m!=1"这句放在FOR里面
  1. @echo off
  2. :start
  3. setlocal enabledelayedexpansion
  4. echo.&set /p n= 请输入一个奇数 &cls
  5. set /a m=n/2+1,c=n*n,he=(n*n+1)*n/2
  6. echo  !n! 阶幻方各行,列以及对角线相加的和为: %he%&echo.
  7. for /l %%i in (1 1 !c!) do (
  8.    set/a i=%%i%%n
  9.    if !i! equ 1 (set/a h=h%%n+1) else set/a h=h%%n+2,m=m%%n+1
  10.    if !h! gtr !n! set h=1
  11.       set ".!h!-!m!=%%i"
  12. )
  13. for %%i in (0 1 10) do if not "!c:~%%i,1!"=="" set /a j=%%i+2&set "k=!k! "
  14. for /l %%a in (1 1 !n!) do (
  15.    set "var="
  16.    for /l %%b in (1 1 !n!) do (
  17.       set "str=!k!!.%%a-%%b!"
  18.       set "var=!var! !str:~-%j%!"
  19.     )
  20.     echo.!var:~1!
  21. )
  22. pause
  23. endlocal&goto start
复制代码

[ 本帖最后由 terse 于 2009-4-6 11:07 编辑 ]
1

评分人数

    • more: 厉害PB + 12 技术 + 1

TOP

返回列表