[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
【程序69】
题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出
   圈子,问最后留下的是原来第几号的那位。
  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%a in (100 -1 1) do set "kk= %%a !kk!"
  3. :main
  4. set "ie=0"
  5. for %%a in (%kk%) do set /a ie+=1
  6. if %ie% neq 1 call :st
  7. echo %kk%
  8. pause&exit
  9. :st
  10. for %%a in (%kk%) do (
  11.         set /a num+=1
  12.         if !num! equ 3 (
  13.                 set "num=0"
  14.                 set "kk=!kk: %%a =!
  15.             )
  16.     )
  17. goto main
复制代码

[ 本帖最后由 ieutk 于 2008-4-18 18:31 编辑 ]
不大可能的事也许今天实现,根本不可能的事也许明天会实现

TOP

原帖由 freshlin 于 2008-6-27 17:19 发表
set var1=!str:%%a =!
能猜到是设置var1为除了%%a以外的值,

但是这个!str:%%a =!具体是怎么用的阿,哪位高手能给解释下






set var1=!str:%%a =!  是把变量str的值中的 %%a和后面的一空格 替换为空,并把替换后的值赋予var1
不大可能的事也许今天实现,根本不可能的事也许明天会实现

TOP

返回列表