批处理命令随机数random的用法及实

批处理命令随机数random的用法及实

ID:14136253

大小:40.00 KB

页数:4页

时间:2018-07-26

批处理命令随机数random的用法及实_第1页
批处理命令随机数random的用法及实_第2页
批处理命令随机数random的用法及实_第3页
批处理命令随机数random的用法及实_第4页
资源描述:

《批处理命令随机数random的用法及实》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、批处理命令随机数random的用法及实例最近研究批处理命令,偶然发现,居然还有随机数,在此之前,是未敢想过。  说到随机数,不同的软件都有随机函数的功能,使用方法大体类似,但却有着区别。本文,给您介绍一下MS-DOS中的批处理命令random的用法及实例。0到100之间的数@echooffsetlocalenabledelayedexpansionset/ah1="%random%%%100"::除以100的余数echo%h1%pause产生一个255以内的数@echooffsetlocalenabledelayedexpansionset/ah1=%rando

2、m%%%255+1echo%h1%pause_______________________随机0-99的随机数@echooff:loopset/a"a=%random%%%100"echo%a%pausegotoloop---注:%random%变量指0到32726的随机数%random%%%100是指向100求模,意指用随机数%random%除以100,然后取余数,余数就只能为0-99之间了.批处理产生四个四位不重复的随机数@echooffsetlocalenabledelayedexpansionsetvar=123456789set/ah1=%random

3、%%%9+1setvar=!var:%h1%=0!for/l%%iin(9,-1,7)do(set/atemp=!random!%%%%icallseth%%i=%%var:~!temp!,1%%callsetvar=%%var:!h%%i!=%%)echo%h1%%h9%%h8%%h7%pause批处理产生四个四位不重复的随机数@echooffsetlocalenabledelayedexpansionset/astr=123456789for/l%%iin(1110)do(set/anum=!random!%%9+1callsetstr=%%str:!num

4、!=%%!num!)echo!str:~2,4!Pause@echooff&setlocalenabledelayedexpansion::生成四位的随机数100个for/l%%iin(1,1,100)do(set/a#%%i=!random!%%9000+1000)::过滤掉有重复数字的随机数for/l%%iin(0,1,100)do(for/l%%jin(0,1,9)do(setss=!#%%i:%%j=!if!ss!lss100(set"#%%i=")))for/f"tokens=2delims=#="%%iin('set#')doecho%%ipause

5、  一、random的取值范围  要使用random,必须将其当作一个变量来使用,这样才能得到值。  打开MS-DOS窗口,输入如下代码,即可获得值。  echo%random%  %random%可以产生0到65535之间的随机数。  二、通过获得一定范围内的随机数  通过一,我们知道,%random%可以产生0到32767之间的随机数,但是,如何才能得到一定范围内的随机数呢?  通用的算法公式如下:  通用的公式%random%%%(max-min+1)+min来产生[min,max]区间里的随机数,注:批处理中求模得用两个%%符号。  比如,我们想获得4到

6、12之间的随机数,就可以这样来使用,代码如下:  @REM产生10个[4,12]间的随机数  @echooff  REM启用延迟环境变量扩展  setlocalenabledelayedexpansion  REM设置随机数的最小和最大值以及求模用的变量  setmin=4  setmax=12  set/amod=!max!-!min!+1  for/l%%iin(1,1,10)do(  REM产生[min,max]之间的随机数  set/ar=!random!%%!mod!+!min!  echo.  echo随机数%%i:!r!  )  三、其它实例  实

7、例①:常用功能    生成1到100之间的随机数  set/aRandomNumber=%random%%%100+1  ::100是范围数,1是底数即开始的数.(在bat中使用),在CMD中会出错.  ::取随机两位数  set/ad=%random:~0,2%  echo%d%  ::避免00  set/ae=1%random:~0,2%-100  echo%e%@echooff  :loop  set/aRandomNumber=1%random:~-1%%random:~-1%-99  ::最大值100  if%RandomNumber%LSS35got

8、oloop  ::小于3

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。