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

TOP

  1. @echo off & setlocal EnableDelayedExpansion
  2. set max=78
  3. for /l %%$ in (1 1 10) do (
  4.     set a=!a!**
  5.     call :zhong !a!
  6. )
  7. pause
  8. :zhong
  9. set s=%1
  10. for /l %%# in (1,2,!max!) do if "!s:~%max%,1!" == "" set "s= !s! "
  11. set s=!s:~1,%max%!& echo;!s!
  12. exit /b
复制代码
1

评分人数

TOP

回复 9# happy886rr

继续搞点这种题目啊,趣味性十足。

TOP

被截图蒙蔽了,实际上并没有居中的要求?
那么可以减几行
  1. @echo off&setlocal enabledelayedexpansion
  2. set "kong="
  3. for /l %%a in (1,1,17) do set "kong=!kong! "
  4. set "s=*"
  5. for /l %%a in (1,1,17) do (
  6.    echo !kong!!s!
  7.    set "kong=!kong:~1!"
  8.    set "s=!s!**!
  9. )
  10. pause
复制代码

TOP

嗯嗯,还可以再少几行
  1. @set s=                 *
  2. :r
  3. @echo;%s%&if "%s:~0,1%"==" " set s=%s:~1%%s:~-1%%s:~-1%&goto :r
  4. @pause
复制代码
1

评分人数

TOP

这样判断的话,又可以再少几个字
  1. @set s=                 *
  2. :r
  3. @echo(%s%&if %s:~,1%*==* set s=%s:~1%**&goto:r
  4. @pause
复制代码

TOP

用goto取代if,又能减少几个字节。
  1. @set s=                 O
  2. :O
  3. @echo;%s%&set s=%s:~1%OO&goto%s:~,2%O
  4. :OO
  5. pause
复制代码

TOP

本帖最后由 taofan712 于 2017-3-17 11:43 编辑

回复 16# happy886rr

不,还没有,我从你这道题收获颇丰啊!
我后来有思考过,goto其实还可以减少一个标签,而且如果为了减少字节数,我从你用“set/p=”代替常见的pause,想到不如用ftp或者more,毕竟又少了两三个字符。
这样,九层,最终66个字节吧。

TOP

返回列表