中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 求嗰随机数排列 上一主题 | 下一主题
forkfan
初级用户





积分 27
发帖 12
注册 2008-3-29
状态 离线
『楼 主』:  求嗰随机数排列

求A-z的随机排列..谢谢

2008-4-5 01:04
查看资料  发送邮件  发短消息 网志  OICQ (272793717)  编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 2 楼』:  

:
@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


   此帖被 +2 点积分    点击查看详情   
评分人:【 forkfan 分数: +2  时间:2008-4-6 14:30




致精致简!
2008-4-5 01:25
查看资料  发短消息 网志   编辑帖子  回复  引用回复
forkfan
初级用户





积分 27
发帖 12
注册 2008-3-29
状态 离线
『第 3 楼』:  

谢谢..

2008-4-5 01:29
查看资料  发送邮件  发短消息 网志  OICQ (272793717)  编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 4 楼』:  

@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



简单!简单!再简单!
2008-4-5 02:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
aliang10520
初级用户





积分 47
发帖 24
注册 2008-3-12
状态 离线
『第 5 楼』:  

支持

2008-4-5 10:21
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 6 楼』:  我也来一个:


@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




批处理之家新域名:www.bathome.net
2008-4-6 04:01
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 7 楼』:  

:
@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 ]

   此帖被 +6 点积分          点击查看详情   
评分人:【 PPdos 分数: +4  时间:2008-4-6 07:06
评分人:【 forkfan 分数: +2  时间:2008-4-6 14:30




致精致简!
2008-4-6 05:27
查看资料  发短消息 网志   编辑帖子  回复  引用回复
PPdos
高级用户




积分 783
发帖 268
注册 2006-12-26
状态 离线
『第 8 楼』:  

我替楼兄做个注:

  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

这个第三步 妙 我加分!



菩提本无树,明镜亦非台,本来无一物,何处惹尘埃.
2008-4-6 07:28
查看资料  发短消息 网志   编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 9 楼』:  

呵呵,再来个另类点的。
@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




致精致简!
2008-4-6 08:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: