返回列表 发帖
可_!n!的变量后面楼主你没有用到呵,因你后面用的是变量截取的方法。
不过,字母常量和数字变量一一对应的思路也不错,试编一个:
@echo off&setlocal enabledelayedexpansion
set "codes=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"
for %%a in (%codes%) do set /a n+=1&set "_!n!=%%a"
set /p input=请输入1-26内的任意数值:
:lp
set /a _random=%random%%%26+1,a=_random-input
if "%a:-=%" lss "2" goto lp
if %_random% lss %input% (set temp=%input%&set input=%_random%&set _random=!temp!)
set /a a=input+1,b=_random-1
set /p=!_%input%!!_%_random%!间的字母是:<nul
for /l %%a in (%a%,1,%b%) do (set /p=!_%%a!<nul)
pause>nulCOPY

[ 本帖最后由 shqf 于 2009-3-1 23:36 编辑 ]
1

评分人数

TOP

原帖由 shqf 于 2009-3-1 23:35 发表
可_!n!的变量后面楼主你没有用到呵,因你后面用的是变量截取的方法。
不过,字母常量和数字变量一一对应的思路也不错,试编一个:@echo off&setlocal enabledelayedexpansion
set "codes=a b c d e f g h i j k ...

兄弟你说得对,是我搞糊涂了,我最开始就是写的你一样的代码,后来改的时候居然忘记不要将常量和数字变量对应了(后面原确是用的字符截取
***共同提高***

TOP

现在来回贴  还有人看么?
@echo off&setlocal enabledelayedexpansion
set str=abcdefghijklmnopqrstuvwxyz
set /p inp="[1-26] : "
set /a ran=%random%%%25+1
if %ran% equ %inp% set /a ran=26
if %ran% gtr %inp% set /a i=ran,ran=inp,inp=i
set /a ran-=1,inp-=ran
set str=!str:~%ran%,%inp%!
if "%str:~1,-1%"=="" (set ecx=空) else (set ecx=%str:~1,-1%)
echo,%str:~0,1%%str:~-1% 之间的符号为 %ecx%
pauseCOPY

[ 本帖最后由 523066680 于 2009-3-8 13:12 编辑 ]
[url=][/url]

TOP

我不写特效 我写什么? 写这个都没人鸟我~
Just for PB

[ 本帖最后由 523066680 于 2009-3-8 14:42 编辑 ]
[url=][/url]

TOP

返回列表