- @setlocal enabledelayedexpansion
- set %random%=%random%
- @echo off
- ::没有在开头使用是为了对比检验结果。完全可以移到首行
- for /l %%i in (0 1 32767) do (if defined %%i (set i=%%i)&goto next)
- :next
- ::这里使用一个跳转是为了节约CPU资源,不直接跳转是为了防止出错。
- echo 随机变量为:%i%
- echo 其值为:!%i%!
- set num=0
- set b=%i%
- set c=!%i%!
- for /l %%a in (0 1 4) do (
- set /a num+=!b:~%%a,1!
- set /a num+=!c:~%%a,1!
- )
- echo 各位数的和为:%num%
- pause>nul
复制代码
试验后发现位数不足五位时会有错误提示,修改屏蔽提示。
- @setlocal enabledelayedexpansion
- set %random%=%random%
- @echo off
- for /l %%i in (0 1 32767) do (if defined %%i (set i=%%i)&goto next)
- :next
- echo 随机变量为:%i%
- echo 其值为:!%i%!
- set num=0
- set b=%i%
- set c=!%i%!
- for /l %%a in (0 1 4) do (
- set /a num+=!b:~%%a,1! 2>nul
- set /a num+=!c:~%%a,1! 2>nul
- )
- echo 各位数的和为:%num%
- pause>nul
复制代码
[ 本帖最后由 firewolf85 于 2008-12-20 19:11 编辑 ] |