联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
@echo off setlocal enabledelayedexpansion :begin set ac=0 :again type nul>"%temp%\temp1.txt" type nul>"%temp%\temp2.txt" set aa=0 set/a ac+=1 :aaa set/a ab=%random%%%10 for %%a in (!ab!) do ( set/a aa+=1 >>"%temp%\temp1.txt" echo %%a if !aa!==5 goto aab goto aaa ) :aab for /f "delims=" %%i in ('type "%temp%\temp1.txt"') do ( if not !%%i!==!ac! ( >>"%temp%\temp2.txt" echo %%i set %%i=!ac! ) ) for /f "delims=:" %%b in ('type "%temp%\temp2.txt"^|findstr /n .*') do set ad=%%b if not !ad!==5 goto again for /f "delims=" %%d in ('type "%temp%\temp2.txt"') do ( echo %%d ) pause&cls goto begin
@echo off :begin cls ::生成五个不同随机数 set/a n1=%random%%%10 :nn2 set/a n2=%random%%%10 if %n2%==%n1% goto :nn2 :nn3 set/a n3=%random%%%10 if %n3%==%n2% goto :nn3 if %n3%==%n1% goto :nn3 :nn4 set/a n4=%random%%%10 if %n4%==%n3% goto :nn4 if %n4%==%n2% goto :nn4 if %n4%==%n1% goto :nn4 :nn5 set/a n5=%random%%%10 if %n5%==%n4% goto :nn5 if %n5%==%n3% goto :nn5 if %n5%==%n2% goto :nn5 if %n5%==%n1% goto :nn5 set nn=%n1%%n2%%n3%%n4%%n5% echo %nn% pause goto begin
@echo off set var=0 1 2 3 4 5 6 7 8 9 if "%~1"=="" ( for /f "tokens=1,2 delims= " %%i in ('"%~0" n^|sort') do call set w=%%w%% %%j ) else ( for %%a in (%var%) do call echo %%random%% %%a goto :eof ) for /f "tokens=1-5" %%a in ("%w%") do echo %%a %%b %%c %%d %%e pause
@echo off set var=0 1 2 3 4 5 6 7 8 9 for /l %%a in (10 -1 6) do call :lis %%a echo %str% pause&exit :lis set /a w=%random%%%%~1+1 for /f "tokens=%w%" %%i in ("%var%") do ( call set var=%%var:%%i=%% call set str=%%str%% %%i ) goto :eof
@echo off set /a a=%random%%%10 echo %a% >a.txt :set1 set /a b=%random%%%10 find "%b%" a.txt >nul if errorlevel 1 goto set2 goto set1 :set2 echo %b% >>a.txt set /a c=%random%%%10 find "%c%" a.txt >nul if errorlevel 1 goto set3 goto set2 :set3 echo %c% >>a.txt set /a d=%random%%%10 find "%d%" a.txt >nul if errorlevel 1 goto set4 goto set3 :set4 echo %d% >>a.txt set /a e=%random%%%10 find "%e%" a.txt >nul if errorlevel 1 goto show goto set4 :show del a.txt echo %a%%b%%c%%d%%e%
:: 将获取的5个数选择其中的一些(至少选取3个,至多选取4个)加1,使他们互不相等 :: qzwqzw@cn-dos.net : 2008-03-19 @echo off & setlocal EnableDelayedExpansion for /l %%i in (1 1 5) do ( set /a n=!random! %% 10 set =!n! ) set /p=生成随机数列:<nul for /l %%i in (1 1 5) do set/p= !!<nul echo. echo. pause>nul for /l %%i in (1 1 5) do ( for /l %%j in (%%i 1 5) do ( if not %%i==%%j ( set /a a=, b= if !a! gtr !b! ( set =!b! set =!a! ) ) ) ) set /p=数列排序后为:<nul for /l %%i in (1 1 5) do set/p= !!<nul echo. echo. pause>nul for /l %%i in (1 1 5) do ( if defined prev ( set /a a= set /a b= if !a! geq !b! ( set /a =a+1 set /a iAdd=a+1-b set /a nAdd+=1 echo 第!nAdd!次:!b!+!iAdd! ) ) set prev=%%i ) set /p=数列差异化后:<nul for /l %%i in (1 1 5) do set/p= !!<nul echo. echo. pause>nul