标题: [特效代码] 【已解决】批处理怎样实现1-10 顺着排 跟倒着排? [打印本页]
作者: panda951 时间: 2015-3-23 21:23 标题: 【已解决】批处理怎样实现1-10 顺着排 跟倒着排?
本帖最后由 panda951 于 2015-3-23 22:50 编辑
user insert num1:3 (num1代表會出現的數字,num2 代表出現次數 里路 2 = 1 2 1)
user insert num2:10
1
12
123
1231
12312
123123
1231231
12312312
123123123
1231231231
123123123
12312312
1231231
123123
12312
1231
123
12
1
这个代码叫什么....
找不到相关资料......
作者: pcl_test 时间: 2015-3-23 22:36
本帖最后由 pcl_test 于 2015-3-23 22:52 编辑
回复 1# panda951 - @echo off
- set /p n1=user insert num1:
- set /p n2=user insert num2:
- set /a r=%n2%-1
- set t=0
- :main
- setlocal enabledelayedexpansion
- for /l %%a in (1 1 %n1%) do (
- set "s=!s!%%a"
- set /a t+=1
- )
- if !t! geq !n2! (set str=!s!) else goto main
- for /l %%a in (1 1 %n2%) do set str=!str:~,%%a! & echo !str! &set str=!s!
- for /l %%b in (%r% -1 1) do set str=!str:~,%%b! & echo !str! &set str=!s!
- pause
复制代码
作者: luo0527 时间: 2015-3-23 22:39
好难的样子。
作者: panda951 时间: 2015-3-23 22:49
回复 3# luo0527
我完全不明白这个有神马意义==
作者: panda951 时间: 2015-3-23 22:53
回复 2# pcl_test
能告诉下他是如何运作吗?有点看不明白
作者: pcl_test 时间: 2015-3-23 23:03
回复 5# panda951
假设有num1:3,num2:4
那么可以看成
1-23123123
12-3123123
123-123123
1231-23123
123-123123
12-3123123
1-23123123
在每行-处截取前面的数
作者: bailong360 时间: 2015-3-23 23:06
- @Echo Off
- SetLocal EnableDelayedExpansion
- Set /P Num1=user insert num1:
- Set /P Num2=user insert num2:
- For /L %%i In (1 1 %Num2%) Do (
- Set N=0
- For /L %%j In (1 1 %%i) Do (
- If "!N!"=="3" (Set N=1) Else Set /A N+=1
- Set .%%i=!.%%i!!N!
- )
- Echo !.%%i!
- )
- Set /A Num2-=1
- For /L %%i In (%Num2% -1 1) Do Echo !.%%i!
复制代码
我也来一个
作者: cobat 时间: 2015-3-23 23:14
- @echo off&setlocal enabledelayedexpansion
- set /p n1=user insert num1:
- set /p n2=user insert num2:
- :loop
- for /l %%a in (1,1,%n1%) do set "s=!s!%%a"
- if "!s:~%n2%!" equ "" goto :loop
- for /l %%a in (1,1,%n2%) do echo !s:~,%%a!
- set/a n2-=1&for /l %%a in (!n2!,-1,1) do echo !s:~,%%a!
- pause
复制代码
作者: panda951 时间: 2015-3-24 09:18
回复 6# pcl_test
原来是截取....
感谢你的分享
作者: panda951 时间: 2015-3-24 09:21
回复 7# bailong360
大哥你的只是到123...
作者: panda951 时间: 2015-3-24 09:22
回复 8# cobat
感谢你的分享
作者: 愤怒的CMD 时间: 2015-3-24 09:36
我也来一个
bailong360 发表于 2015-3-23 23:06
没看出来Num1有什么用。代码可以改成- @Echo Off
- SetLocal EnableDelayedExpansion
- Set /P Num=user insert Num:
- For /L %%i In (1 1 %Num%) Do (
- Set N=0
- For /L %%j In (1 1 %%i) Do (
- If "!N!"=="%Num%" (Set N=1) Else Set /A N+=1
- Set .%%i=!.%%i!!N!
- )
- Echo !.%%i!
- )
- Set /A Num-=1
- For /L %%i In (%Num% -1 1) Do Echo !.%%i!
- pause>nul
复制代码
作者: bailong360 时间: 2015-3-24 16:15
回复 12# 愤怒的CMD
不好意思,代码错了...- @Echo Off 2>nul 3>nul
- SetLocal EnableDelayedExpansion
- Set /P Num1=user insert num1:
- Set /P Num2=user insert num2:
- For /L %%i In (1 1 %Num2%) Do Set /A "1/(N-Num1)"&&Set /A N+=1||Set N=1&Set ..=!..!!N!
- For /L %%i In (%Num2% -1 -%Num2%) Do For /F "Delims=-" %%j In ("%%i") Do Set /A "1/%%i"&&Echo;!..:~0,-%%j!||Echo !..!
- Pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |