Originally posted by 26933062 at 2008-7-11 15:18:
再来一个,思路清晰点的。
@echo off&setlocal enabledelayedexpansion
set "str1= 0 1 2 3 4 5 6 7 8 9"
set "str2= j i h g f e d c b a"
echo.&set /p n ...
小楼兄这个方案还是欠缺在通用性上面。
批处理之家新域名:www.bathome.net
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
Originally posted by 26933062 at 2008-7-11 15:18:
再来一个,思路清晰点的。
@echo off&setlocal enabledelayedexpansion
set "str1= 0 1 2 3 4 5 6 7 8 9"
set "str2= j i h g f e d c b a"
echo.&set /p n ...
Originally posted by zw19750516 at 2008-7-11 15:48:
for /l %%a in (1 2 19) do (。。。
就这句。
@echo off&setlocal enabledelayedexpansion
set/p p=请输入:
set str=abcdefghij
for /l %%i in (0 1 9) do set %%i=%%i&set/a !str:~%%i,1!=9-%%i
:lp
if defined p set .!%p:~,1%!=!%p:~,1%!&set p=!p:~1!&goto lp
for /l %%i in (0 1 9) do (
if defined .%%i (
set var1=!var1!%%i&set/a _%%i=9-%%i
call set var2=%%str:~!_%%i!,1%%!var2!
)else set var1=!var1!#&set var2=#!var2!
)
echo !var1! ^| !var2!
pause
Originally posted by terse at 2008-7-11 16:50:
我有分不
@echo off&setlocal enabledelayedexpansion
set/p p=请输入:
set str=abcdefghij
for /l %%i in (0 1 9) do set %%i=%%i&set/a !str:~%%i,1!=9-%%i
:lp
if defined p set ...
@echo off
set/p input=请输入:
rem " .%input%" 中"." 为了防止纯单数字(1-9?) 输入出现错误
echo .%input%>%temp%\temp.txt
set string=0123456789abcdefghij
set num=
:pro1
set /a num+=1
set strtmp=%string:~0,1%%string:~-1%
set str%num%=##
rem 下面这句是 findstr 类方面的应用
findstr %temp%\temp.txt>nul&&set str%num%=%strtmp%
set string=%string:~1,-1%
if not defined string goto pro2
goto pro1
:pro2
setlocal enabledelayedexpansion
set str_1=x
for /l %%i in (1,1,%num%) do call set str_1=!str_1:~0,-1!%%str%%i%%
for /l %%i in (1,1,%num%) do call set str_2=%%str%%i%%!str_2:~1!
echo %str_1:~,-1% ^| %str_2:~1,-2%
pause@echo off
set/p input=请输入:
set string=0123456789abcdefghij
set num=
:pro1
set /a num+=1
set strtmp=%string:~0,1%%string:~-1%
set str%num%=##
rem 下面这句是 findstr 类方面的应用
echo %input%|findstr >nul&&set str%num%=%strtmp%
set string=%string:~1,-1%
if not defined string goto pro2
goto pro1
:pro2
setlocal enabledelayedexpansion
set str_1=x
for /l %%i in (1,1,%num%) do call set str_1=!str_1:~0,-1!%%str%%i%%
for /l %%i in (1,1,%num%) do call set str_2=%%str%%i%%!str_2:~1!
echo %str_1:~,-1% ^| %str_2:~1,-2%
pause| 评分人 | 分数 | 时间 |
|---|---|---|
| bat-zw | +5 | 2008-07-11 17:09 |
@echo off&setlocal enabledelayedexpansion
set "str=0123456789abcdefghij"
set str1=!str!
:loop
set .!str:~0,1!=!str:~-1,1!
set .!str:~-1,1!=!str:~0,1!
set str=!str:~1,-1!
set /a nnn+=1
if defined str goto loop
for /f "tokens=2 delims==" %%a in ('set .') do set str1=!str1:%%a= %%a!
set /p num=请输入、可以不输入空格 &cls&set num=!num: =!
for %%i in (!str1!) do set num=!num:%%i= %%i!
for %%a in (!num!) do set num=!num! !.%%a!
for %%a in (!num!) do set _%%a=a
for %%a in (!str1!) do if defined _%%a (set var=!var!%%a) else set var=!var!#
echo.&echo !var:~0,%nnn%! !var:~%nnn%!
pause>nul
Originally posted by zw19750516 at 2008-7-11 17:01:
for /l %%i in (0 1 9)...
不通用,请兄弟仔细看下我顶楼的说明。
:loop
set .!str:~0,1!=!str:~-1,1!
set .!str:~-1,1!=!str:~0,1!
set str=!str:~1,-1!
set /a nnn+=1
if defined str goto loop
另外,你们的输入大多数要加空格隔开的, 不知道为什么,我想凭你们的技巧,肯定可以用别的办法,加个空格输入的时候多别扭啊。