[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
我也是昨天才弄懂这个随机数的产生的!!

TOP

回复 2楼 的帖子

貌似是100--199的随机数吧

TOP

  1. @echo off
  2. :start
  3. set/a n=%random%%%200
  4. if %n% lss 100 set/a n=%n%+100
  5. echo.%n%
  6. pause
  7. goto start
复制代码


嘿嘿,这样算不算投机取巧

TOP

  1. @echo off
  2. :m
  3. set a=%random%
  4. set/a b=%a% %%2
  5. if %b%==0 goto m else goto next
  6. :next
  7. set c=%a:~1,2%
  8. echo %b%%c%
  9. ping -n 3 127.1>nul 2>nul&exit
复制代码

TOP

@echo off
:liao
set /a hai=%random% %%101+100
echo %hai%
pause>nul
goto liao

TOP

没有200:
  1. @echo off
  2. :start
  3. cls
  4. set /a a=%random%%%10
  5. set /a b=%random%%%10
  6. echo 1%a%%b%
  7. pause&goto start
复制代码
(*^_^*)

TOP

=====看来我的想法太复杂了

我想的方法是先random%%200然后把小于100的用if语句给剔除掉. .. .
setlocal enabledelayedexpansion

TOP

我也来学习一下:
@echo off
color 1a &mode con cols=35 lines=10
:loop
cls
set /a w=%random% %%101+100
echo.&echo.&echo.&echo.
echo         产生的随机数是:%w%
ping -n 2 127.1>nul
goto loop
1

评分人数

TOP

回复 26楼 的帖子

你是正确的
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2楼 的帖子

这个能取到200吗?好像是100到199吧

TOP

@echo off
set /a a=%random%%%101+100
echo %a%
pause

TOP

原帖由 suqili56 于 2008-12-6 13:47 发表
@echo off
set a=%random%
set /a n=%a%%%100*2
echo %n%
pause

楼上这个输出的貌似都是偶数吧

TOP

不知道这样对不对

@echo off
set a=%random%
set /a n=%a%%%100*2
echo %n%
pause

TOP

对代码
  1. set /a num=%random%%%100+100
复制代码
测试发现小问题一个,不能得到200,数值范围为100-199
将代码修改为
  1. set /a num=%random%%%101+100
复制代码
可以得到完整的100-200

[ 本帖最后由 firewolf85 于 2008-12-6 13:40 编辑 ]

TOP

set /a num=%random%%%100+100

TOP

返回列表