[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[ 新手练习 6 ] 批处理判断奇数偶数

生成一随机数,判断它是奇数还是偶数,或者说是单数还是双数。

目的:掌握如何生成随机数,并了解取余运算的用处。

要求:显示出随机数,并显示判断结果(是奇数还是偶数)。
   方法不限。

评分:代码可读性 1 分;
   首个新方法 6 分,第二个 5 分,依次类推,最少 2 分;
   一人可多种方法,新方法追加 3 分,已经出现过的方法追加 1 分。

@echo off
:sc_start
set /p str=请输入需要判断的数值:
set /a s=%str%%%2
if %s%==1 (echo 奇数) else (echo 偶数)
pause>nul
goto :sc_start

TOP

@echo off
:sc
set /a num=%random%
set /a a=%num%%%2
if %a%==0 (echo 偶数) else (echo 奇数)
ping 127.0.0.0 -n 1 >Nul 2>Nul
goto :sc

TOP

@echo off
set var=%random%
echo %var%
set /a num=%var%%%2
if %num% equ 0 (echo 随机数是偶数) else (echo 随机数是奇数)
pause>nul

TOP

@echo off
set /p num=请输入:
set /a n=%num%%%2
if %n% equ 0 (echo %num% 是偶数) else (echo %num% 是奇数)
pause>nul 2>nul

TOP

  1. @echo off
  2. ::判断0-99这100个数的奇偶性
  3. Set /a a=%Random%%%100
  4. Set /a b=%a%%%2
  5. If %b%==0 (echo %a%是偶数) else (echo %a%是奇数)
  6. pause
  7. %0
复制代码

TOP

答:
  1. @echo off
  2. set /a ran=%random%
  3. echo 产生的是%ran%
  4. set /a end=%ran%%%2
  5. if %end%==0 (echo 他是偶数) else (echo TA是奇数)
  6. pause>nul
复制代码
老方法了........
效果:

==========
end;

TOP

2L, 请问str2=str%%2是什么意思?

TOP

  1. set 数=%random%&set 数&set/a "数&1"|find "1">nul&&echo 奇||echo 偶&pause
复制代码

[ 本帖最后由 neorobin 于 2010-5-13 01:08 编辑 ]

TOP

  1. @ echo off
  2. set "num=%random%%%2"
  3. if %num% ==0 (echo,随机数是偶数) else (echo,随机数是奇数)
  4. pahse
复制代码

TOP

想了很久也没有想出来丶丶丶

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set a=%random%
  4. set /a b=%a% %% 2
  5. if %b% ==1 echo %a%是奇数
  6. if %b% ==0 echo %a%是偶数
  7. pause
复制代码

TOP

我也来一个!

我也借用12楼,rat的代码写写:
  1. @echo off
  2. set/a num=%random%
  3. 2>nul set/a1/(%num%%%2)&&echo %num% 是奇数||echo %num% 是偶数
  4. pause>nul
复制代码
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set var=%random%
  4. set num=
  5. for /f "delims=13579" %%i in ("!var:~-1!") do set num=%%i
  6. if not defined num (echo !var!是奇数) else (echo !var!是偶数)
  7. pause>nul
复制代码

[ 本帖最后由 sjzong 于 2009-4-21 23:24 编辑 ]
1

评分人数

    • wxcute: 只要自己测试了,没有问题就好了。 如果以 ...PB + 2

TOP

result

@echo off
:start
set /a a=%random%%%10
set /a b=%a%%%2
echo %b%
if "%b%"=="0" echo the number is singular
if "%B%"=="1"  echo the number is dual
echo %a% %b%

pause
1

评分人数

    • wxcute: 奇数、偶数判断反了。PB + 1

TOP

  1. @echo off
  2. set /a rdm=%random%
  3. echo 随机数是%rdm%
  4. if %rdm%%%2 equ 0 (echo 该随机数是偶数) else (echo 该随机数是奇数)
  5. pause
复制代码
1

评分人数

    • wxcute: 写法错误:将计算表达式写在 IF 复合语句中 ...PB + 1

TOP

返回列表