出題目的: 掌握利用random進(jìn)行隨機(jī)取值技巧 解題要求: 代碼通用、高效 盡量簡(jiǎn)潔 盡量不生成臨時(shí)文件 加分規(guī)則: 1 思路獨(dú)特基準(zhǔn)分5分 2 代碼高效、通用基準(zhǔn)分4分 3 技巧高超基準(zhǔn)分3分 4 代碼簡(jiǎn)潔基準(zhǔn)分2分 5 完美代碼加分15分 題目如下: 已知有1-26與a-z的一一對(duì)應(yīng),如1對(duì)應(yīng)a 10對(duì)應(yīng)j 26對(duì)應(yīng)z,要求用批處理 從1-26 a-z這52個(gè)值中(全視為值)隨機(jī)抽取10個(gè)互不相同的值并顯示出來(lái), 注意如同1和a 24和x 26和z這樣的取值均視為相同不合要求。 解題限制: 暫無(wú)限制。 答案: batman: 代碼如下: @echo off&setlocal enabledelayedexpansion for %%i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do ( set /a n+=1,a=!random!%%2 if !a! equ 0 ( set "_!random!!random!!random!=%%i" ) else ( set "_!random!!random!!random!=!n!" ) ) for /f "tokens=2 delims==" %%i in ('set _') do ( set /a n-=1 if !n! equ 15 pause>nul&goto :eof set /p=%%i <nul )