返回列表 发帖

输出五位数以内的数

:: 输出随机数
@echo off
set /a p=%random%%%100+1
echo %p%
pause>nul

想输出五位数以内的数,就对其取余。随机数的生成是大概根据系统时间来生成的吧。

TOP

嗯!!
学到了一个%random%
随机数
砂石下的泉水,掘得越深,泉水会越清吗?

TOP

@echo off
echo %random%
set "var=10000"&set sss=%random%
if "%sss%" gtr "%var%" (echo 大于10000) else echo 小于10000
ping -n 2 127.1>nul&%0COPY

不明白这里为什么都是   大于10000,即使是  小于10000 的情况

[ 本帖最后由 hlzj88 于 2008-11-10 21:27 编辑 ]
目的,学习批处理

TOP

哇··!!!确实是学习P处理的好地方··!!

TOP

1.使用环境变量%random%
2.set /p xxx
3.
检测随机数是否大于 10000,如果是,则显示如下:
该随机数 大于 10000
如果不是,则显示:该随机数 小于 10000
如果不是,应该显示小于或等于10000吧(^_^)
@echo off
if %random% gtr 10000 echo 该随机数大于10000&pause>nul&exit
echo 该随机数小于或等于10000&pause>nul&exit
4.
@echo off
set /p store=请输入变量:
if "%store%" == "A" echo 你输入的为A&pause>nul&exit
echo 你输入的不为A&pause>nul&exit

TOP

请教

原帖由 a794685135 于 2008-9-2 16:47 发表
你好,我有几个问题想请教 一下,
@echo off
set a=%random%
echo 这是取值到的随机数:%a%
if %a% GTR 10000 (echo 该随机数 大于 10000) else (                这么中的 GTR 指的是。。。我猜是运算符对吗 ,能给几出其余的吗?        
echo 该随机数 小于 10000)
set /p b=请输入"A":
if A EQU %b% (echo 你输入的为A) else (                 这以中的EQU 指的是。。
e ...



非常感谢

TOP

回复 37楼 的帖子

EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于

TOP

能看懂

能看懂,不会做.....

TOP

不会             请指教

TOP

1.
     set num=%random%COPY


2.
     set /p var=请输入字符:COPY


3.
     @echo off
     set num=%random%
     if %num% gtr 10000 (
     echo 大于 10000
     ) else (
     echo 小于10000
     )
     pause
     ::几次试验的结果都是随即数在5000+的范围内 不说是032767 之间的任意十进制数字吗 请教高手解答COPY


4.
     @echo off
     set /p var=请输入字符:
     if %var% ==A (
     echo 你输入的为A
     ) else (
     echo 你输入的不为A
     )
     pauseCOPY

     ::考虑大小写的话就这样了,小写的a也是不为A的

TOP

本人是菜鸟 所以现在还正式在学习中

TOP

没看前面的帖子,不知道有没重复的,发了之后再看吧.

@echo off
set x=%random%
echo %x%
set /p y=请输入:
echo 你输入的是:%y%
if "%x%" lss "10000" (echo 该随机数小于10000) else echo 该随机数大于10000
if "%y%"=="a" (echo 你输入的为a) else echo 你输入的不是a
pause>nulCOPY

TOP

原帖由 shenmeshibat 于 2008-10-2 16:42 发表
为什么echo %random% 输出的都是5位的数字,然后随机变化的也只有后三位?

if %rdm% gtr 10000 (echo rdm is greater than 10000) else (echo rdm is less than 10000)
pause>nul  ::这个可以讲解下吗?

@ech ...

@echo off          ::关闭回显
:AA                     ::标签AA
cls                      ::清屏
echo 1               ::显示1
echo %random%      ::显示一个随即数。(为什么随即算都是五位??我也不明白,期待高手回答)
pause                 ::暂停,等待输入
echo 2                  ::显示2
set /p var=请输入:    ::设置 var 等于你输入的变量值 /p 就是让外部输入数据的一个开关
echo %var%             ::显示上面的变量值
pause                       ::暂停
echo 3                      ::显示3
set aa=%random%   ::设置变量aa为随即数。
if %aa% gtr 10000 (echo %aa%大于10000) else echo %aa%小于10000  :if)判定(%aa%)变量(gtr)大于10000(就显示 %aa%变量大于10000)(else)如果不是<可以理解为如果前面的不成立>就显示 %%变量小于10000
pause>nul                     ::暂停,>nul 将结果输出到不存在的地方 空地方,  加了这个就不会提示: 按任意键继续了

我也是新手,能理解的就是这样了,难免有错误之处,期待高手指正;

TOP

re:if入门训练

批处理的变量不是仅仅是字符串而已吗,不能处理数学运算的吧?!产生随机数是涉及到数学运算的,变量类型是实型的。该怎么弄?
printer-小祥

TOP

答案


@echo off
cd %windir%
echo %random%
pause>nul&exit

@echo off
cd %windir%
set/p =等待用户输入字符:
pause>nul&exit

@echo off
cd %windir%
set n=%random%
echo 获取随机数为:%n%
if %n% gtr 10000 (echo 该随机数大于10000) else echo 该随机数小于10000
pause>nul&exit

@echo off
cd %windir%
:again
set/p input=输入字符:
if %input% equ A (echo 你输入的是A) else echo 你输入的不是A&goto :again
pause>nul&exit

TOP

返回列表