Board logo

标题: [其他] 出题挑战 y始终=x后字母 已知x怎样得知y [打印本页]

作者: smss    时间: 2022-2-9 11:57     标题: 出题挑战 y始终=x后字母 已知x怎样得知y

本帖最后由 smss 于 2022-2-9 14:30 编辑

x=c时y=d  x=d时y=e 即y始终=x后字母  以此类推 已知x怎样得知y 越简越好
  1. ::抛砖引玉
  2. @Echo off&SetLocal EnableDelayedExpansion&set n=0&set x=d
  3. for %%i in (a b c d e f g h i j k l m n o p q r s t u v w x y z)do set /a n+=1&call set "y%%n%%=%%i"&if %%i==%x% set m=!n!
  4. set/a n=%m%+1
  5. echo !y%n%!
  6. pause
复制代码

作者: idwma    时间: 2022-2-9 12:51

  1. @Echo off&SetLocal EnableDelayedExpansion&set n=0&set x=d
  2. set "i=a b c d e f g h i j k l m n o p q r s t u v w x y z"
  3. set y=!i:*%x% =!
  4. echo %y:~0,1%
  5. pause
复制代码

作者: WHY    时间: 2022-2-9 14:00

本帖最后由 WHY 于 2022-2-9 21:54 编辑

如果变量 x 的值是 z,y 的值应该是多少呢?
假设是循环取值(x=z,则 y=a)
  1. @echo off
  2. set "x=d"
  3. for /f "delims=%x%" %%i in ("zyxwvutsrqponmlkjihgfedcba") do set "y=%%i"
  4. echo %y:~-1%
  5. pause
复制代码
  1. @echo off
  2. set "x=d"
  3. set "s=abcdefghijklmnopqrstuvwxyza"
  4. call set "y=%%s:*%x%=%%"
  5. echo %y:~0,1%
  6. pause
复制代码

作者: WHY    时间: 2022-2-9 14:10

  1. PowerShell "[char]([int][char]'d'+1)"
复制代码

作者: 路过    时间: 2022-2-9 14:12

  1. @echo off
  2. set x=a
  3. powershell -command [char[]](([int[]]'%x%'.ToCharArray())[0]+1)
  4. pause
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2