
标题: 求嗰随机数排列 [打印本页]
作者: forkfan 时间: 2008-4-5 01:04 标题: 求嗰随机数排列
求A-z的随机排列..谢谢
作者: 26933062 时间: 2008-4-5 01:25
:CODE: [Copy to clipboard]
@echo off&setlocal enabledelayedexpansion
set "str=abcdefghijklmnopqrstuvwxyz"
for /l %%i in (0 1 25) do (
set /a num=!random! %% 25+1
call set var=%%str:~!num!,1%%
call set str=%%str:!var!=%%!var!
)
echo !str:~10!!str:~0,10!
pause
作者: forkfan 时间: 2008-4-5 01:29
谢谢..
作者: terse 时间: 2008-4-5 02:07
@echo off
set "str=abcdefghijklmnopqrstuvwxyz"
set n=27
:loop
set/a n-=1
set/a s=%random%%%%n%
call set var=%%str:~%s%,1%%
set var1=%var%%var1%
call set str=%%str:%var%=%%
if defined str goto loop
echo %var1%
pause
作者: aliang10520 时间: 2008-4-5 10:21
支持
作者: bat-zw 时间: 2008-4-6 04:01 标题: 我也来一个:
CODE: [Copy to clipboard]
@echo off
:begin
set code=abcdefghijklmnopqrstuvwxyz
set /a n=%random%%%26
call,set str=%%code:~%n%,1%%
for %%i in (%var%) do if "%%i"=="%str%" goto begin
set var=%var% %str%
if "%var:~51,1%"=="" goto begin
echo %var%
pause
作者: 26933062 时间: 2008-4-6 05:27
:CODE: [Copy to clipboard]
@echo off&setlocal EnableDelayedExpansion
set "code=ABCDEFGHIJKLMNOPQRSTUVWXYZ"
for /l %%a in (26 -1 1) do (
set /a w=!random!%%%%a
call set var=!var!%%code:~!w!,1%%
call set code=%%code:!var:~-1!=%%
)
echo !var!
pause
[ Last edited by 26933062 on 2008-4-6 at 05:28 AM ]
作者: PPdos 时间: 2008-4-6 07:28
我替楼兄做个注:
| Quote: |
@echo off&setlocal EnableDelayedExpansion
set "code=ABCDEFGHIJKLMNOPQRSTUVWXYZ"
for /l %%a in (26 -1 1) do (
set /a w=!random!%%%%a
1.随机取余数,余数w小于等于25
call set var=!var!%%code:~!w!,1%%
2.取变量code的第w+1位放入变量var并不断累积
call set code=%%code:!var:~-1!=%%
3.删除变量code中已截取的字母,将其继续循环
)
echo %var%
pause |
|
这个第三步 妙 我加分!
作者: 26933062 时间: 2008-4-6 08:47
呵呵,再来个另类点的。CODE: [Copy to clipboard]
@echo off&setlocal EnableDelayedExpansion
set "code=ABCDEFGHIJKLMNOPQRSTUVWXYZ"
for /l %%a in (26 -1 1) do (
set /a w=!random!%%%%a
call call set code=%%%%code:%%code:~!w!,1%%=%%%%%%code:~!w!,1%%
)
echo %code%
pause
| 欢迎光临 中国DOS联盟论坛 (http://cndos.fam.cx/forum/) |
Powered by Discuz! 2.5 |