批处理随机取值练习代码_DOS/BAT

出题目的:
掌握利用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
)

时间: 2024-09-11 11:32:21

批处理随机取值练习代码_DOS/BAT的相关文章

使用BAT批处理执行sql语句的代码_DOS/BAT

1.把待执行Sql保存在一个文件,这里为20110224.sql.2.新建一个扩展名.bat的批处理文件,输入下面命令并保存后,双击.bat文件,系统会自动执行20110224.sql的语句: 复制代码 代码如下: osql -S gdjlc -d TestDB -U sa -P 1 -i 20110224.sql osql参数见下面=======================================================================: E:\>osql

批处理读取注册表中run下面的值的代码_DOS/BAT

复制代码 代码如下: @echo off for /f "tokens=2 delims=:" %%i in ('reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run') do echo %systemDrive%%%i pause>nul

让批处理被wsh解析的代码_DOS/BAT

示例批处理:test.bat  复制代码 代码如下: :On Error Resume Next   Sub bat   echo off & cls   echo Batching_codez_here_following_vbs_rules & pause   start wscript -e:vbs "%~f0"   Exit Sub   End Sub   MsgBox "This is vbs"    上面的代码巧妙利用 bat 和 vbs

批处理中的预处理实现代码_DOS/BAT

转载自 nxhujiee最终编辑 LJ_SunTB批处理中的[预处理] ━━━━━━━━━━━━━━━━━━━━━━━━━━ 如果你对脱字字符"^"的处理机制比较熟悉那么可以接着阅读,否 则请先参考脱字字符的相关文章. 一.预处理究竟要做什么? 根据我的经验,预处理要做的是变量值的替换和特殊符号的处理.究竟先执行哪个操作呢,我认为要先进行变量值的替换.理由有三: 1. 从逻辑上看 set var=2&echo %var% 类似于这样的语句,如果说先进行特殊符号处理的话,势必要先

批处理解约瑟夫环应用题代码_DOS/BAT

题目: 有二十九个女生(分别用1-29号来称呼)围成一圈玩报数游戏,规则是这样的:从1开始数数,当数到3的这个人就退出游戏,而她后面的人接着从1数...如此一直到最后剩下一个人,现在知道最初是从13号女生开始的游戏,问最后剩下的会是第几号女生? 要求: 1 用批处理解答 2 代码简洁高效 3 代码通用且不生成临时文件 加分原则: 以思路为重(如思路独特,请简要说明) 完全符合要求的加10分 已有两套解决方案,见3楼more和6楼ieutk版主的代码,但个人认为这两套方案均不完美(见本人的跟贴评述

用批处理设置IP安全策略的代码_DOS/BAT

以下内容只有回复后才可以浏览 ipseccmd -w REG -p "XIAOWANG" -r "Block ICMP" -f *+0:ICMP -n BLOCK -x 开网上邻居.bat 复制代码 代码如下: ipseccmd -w REG -p "XIAOWANG" -r "Block TCP/80" -f *+0:80:TCP -n PASS -x ipseccmd -w REG -p "XIAOWANG&qu

批处理写的电视机效果代码_DOS/BAT

  复制代码 代码如下: @echo off   title 收不到台的电视机  :a  cls  for /l %%b in (1,6,7)do (  color %%bf  )  goto a 

批处理 删除重复行的代码_DOS/BAT

复制代码 代码如下: @echo off :: 删除重复的行,但不能保留空行 :: 对不符合变量命名规则.变量个数超过限制的文本都无法正确处理 :: (echo 清除重复行后的文件内容:& echo.)>str_.txt for /f "delims=" %%i in (test.txt) do ( if not defined %%i set %%i=A & echo %%i>>str_.txt) start str_.txt

批处理 结束麦咖啡进程的代码_DOS/BAT

@ECHO OFF @@knlps.exe -l >pid.txt @FINDSTR /i "vmsrvc.exe" PID.txt >RAV.txt @FINDSTR /i "FrameworkService.exe" PID.txt >>RAV.txt @FINDSTR /i "Mcshield.exe" PID.txt >>RAV.txt @FINDSTR /i "VsTskMgr.exe&qu