出題目的: 掌握利用random進行隨機取值技巧 解題要求: 代碼通用、高效 盡量簡潔 盡量不生成臨時文件 加分規則: 1 思路獨特基準分5分 2 代碼高效、通用基準分4分 3 技巧高超基準分3分 4 代碼簡潔基準分2分 5 完美代碼加分15分 題目如下: 已知有1-26與a-z的一一對應,如1對應a 10對應j 26對應z,要求用批處理 從1-26 a-z這52個值中(全視為值)隨機抽取10個互不相同的值并顯示出來, 注意如同1和a 24和x 26和z這樣的取值均視為相同不合要求。 解題限制: 暫無限制。 答案: 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 )