标题: 求嗰随机数排列
[打印本页]
作者: forkfan
时间: 2008-4-5 01:04
标题: 求嗰随机数排列
求A-z的随机排列..谢谢
作者: 26933062
时间: 2008-4-5 01:25
:
@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
标题: 我也来一个:
@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
:
@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
呵呵,再来个另类点的。
@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