|  | 
 
| lin8197 初级用户
 
   
 
 
 积分 186
 发帖 36
 注册 2003-10-2
 状态 离线
 | 
| 『楼 主』:
 如何调换字符位置(反向)?
 
使用 LLM 解释/回答一下 
 
 
有一变量内容如: A=123456789............... (变量的值及长度不定)
 求: 1)把变量A倒转(反向),如 :A=...............987654321
 
 2)把变量A 的奇偶位分别取出来,分别设为两个变量,如:A1=13579............      A2=2468..............
 
 Last edited by lin8197 on 2010-1-24 at 11:07 ]
 
 
 
 
 |  | 
|  2010-1-24 10:53 |  | 
|  | 
 
| cxchcq 新手上路
 
  
 
 
 
 积分 16
 发帖 12
 注册 2010-1-19
 状态 离线
 | 
| 『第 2 楼』:
 批刚学没学好。。暂用C思路抛砖,
 
使用 LLM 解释/回答一下 
 
 
兄弟,我现在不知道批用什么功能。如果可以用数组的话。
 1)就好解了。用两个FOR
 1,把1--9。。。。放入数组A
 在用FOR递减把......9--1放入数组B
 输出B就可了
 2)的问题通过上面就好解了在多用几个FOR后加IF判断
 批真不知道怎么搞,,我想思路是一样的吧。。我现在刚学批,,所以思路说下。。批怎么搞去看下命令和代码有什么可以实现
 
 请高人出来答下~~~
 
 Last edited by cxchcq on 2010-1-24 at 12:03 ]
 
 
 
 
 |  | 
|  2010-1-24 11:19 |  | 
|  | 
 
| lin8197 初级用户
 
   
 
 
 积分 186
 发帖 36
 注册 2003-10-2
 状态 离线
 |  | 
|  2010-1-24 11:36 |  | 
|  | 
 
| cxchcq 新手上路
 
  
 
 
 
 积分 16
 发帖 12
 注册 2010-1-19
 状态 离线
 |  | 
|  2010-1-24 11:58 |  | 
|  | 
 
| ccwan 金牌会员
 
       
 
 
 积分 2725
 发帖 1160
 注册 2006-9-23
 来自 河北廊坊
 状态 离线
 | 
| 『第 5 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
关于问题1 @echo off set Output=
 set /p Enter=请输入:
 :Start
 if not "%Enter%"=="" (
 set Output=%Output%%Enter:~-1%
 set Enter=%Enter:~0,-1%
 goto :Start)
 echo.
 echo        %Output%
 pause >nul
 
 
 
 
 |  
                  |  三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
 |  | 
|  2010-1-24 12:36 |  | 
|  | 
 
| lin8197 初级用户
 
   
 
 
 积分 186
 发帖 36
 注册 2003-10-2
 状态 离线
 | 
| 『第 6 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
我用这个办法解决,不如楼上的简洁
 @echo off
 setlocal ENABLEDELAYEDEXPANSION
 set n1=0
 set n2=1
 set a=123456789abcde
 set a1=
 set a2=
 set b=
 :test
 set "temp1=!a:~%n1%,1!"
 set "temp2=!a:~%n2%,1!"
 if "%temp1%" == ""  goto end
 set /A n1="n1+2"
 set /A n2="n2+2"
 set a1=%a1%%temp1%
 set a2=%a2%%temp2%
 set b=%temp2%%temp1%%b%
 goto test
 
 :end
 echo %a1%
 echo %a2%
 echo %b%
 pause
 
 
 
 
 |  | 
|  2010-1-24 12:47 |  | 
|  | 
 
| mountvol 初级用户
 
   
 
 
 
 积分 186
 发帖 117
 注册 2006-8-14
 状态 离线
 | 
| 『第 7 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
@echo offset "a=123456789123456789"
 call :sub -1 -1
 echo %ret%
 call :sub 0 2
 echo %ret%
 call :sub 1 2
 echo %ret%
 pause
 goto :eof
 
 :sub
 set i=%1
 set "str="
 set "str1="
 set "ret="
 :loop
 call set "str=%%a:~%i%,1%%"
 if not defined str goto :eof
 
 set /a j=i*-1-1
 call set "str1=%%a:~%j%,1%%"
 if not defined str1 goto :eof
 
 set "ret=%ret%%str%"
 set /a i+=%2
 goto :loop
 
如果分开做几个sub的话效率会搞一些. 
 
 
 
 |  | 
|  2010-1-24 13:23 |  | 
|  | 
 
| HAT 版主
 
         
 
 
 
 积分 9023
 发帖 5017
 注册 2007-5-31
 状态 离线
 | 
| 『第 8 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
echo 123456789|sed "/\n/!G;s/\(.\)\(.*\n\)/&\2\1/;//D;s/.//"
 
 
 
 
 
 
 |  
                  |  
  |  | 
|  2010-1-24 14:23 |  | 
|  | 
 
| lin8197 初级用户
 
   
 
 
 积分 186
 发帖 36
 注册 2003-10-2
 状态 离线
 |  | 
|  2010-1-24 16:58 |  | 
|  | 
 
| HAT 版主
 
         
 
 
 
 积分 9023
 发帖 5017
 注册 2007-5-31
 状态 离线
 |  | 
|  2010-1-24 18:35 |  | 
|  | 
 
| lin8197 初级用户
 
   
 
 
 积分 186
 发帖 36
 注册 2003-10-2
 状态 离线
 | 
| 『第 11 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
Originally posted by HAT at 2010-1-24 06:35 PM:你会反转一行之后,用for读取每行,每行都反转不就行了?
 
我对批不熟悉,麻烦给出代码.谢谢 
 
 
 
 |  | 
|  2010-1-25 09:39 |  | 
|  | 
 
| lin8197 初级用户
 
   
 
 
 积分 186
 发帖 36
 注册 2003-10-2
 状态 离线
 |  | 
|  2010-1-25 10:39 |  |