批处理之家's Archiver

jsbba 发表于 2011-5-17 17:58

谁能帮我写个数青蛙的批处理?

当输入回车后就输出一行 格式是 1只青蛙1张嘴2只眼睛4条腿扑通1声跳下水 在一会车就显示  2只青蛙2张嘴4只眼睛8条腿扑通扑通2声跳下水  这样累加的
谢谢啊 我用for怎么没搞出来啊
for /l %%i in (1,1,1000) do echo %%i只青蛙%%i张嘴%%i*2只眼睛%%i*4条腿扑通
后门的%%i*2根本就没计算  而且 那个扑通扑通做不出来啊 麻烦高手指点

namejm 发表于 2011-5-17 18:22

[i=s] 本帖最后由 namejm 于 2011-5-17 18:30 编辑 [/i]

算术运算是需要用 set /a 来做的
写一个玩玩:
居然还要对声音进行重复
修改一下
不过貌似变量最大只能存储8192字节(具体数目忘记了,不是很确定)
所以
到了4000多只青蛙的时候就会game over了[code]
@echo off
set num=0

:loop
cls
set /a num+=1
set /a num_eyes=%num%*2
set /a num_legs=%num%*4
set sound=%sound%扑通
echo %num%只青蛙%num%张嘴%num_eyes%只眼睛%num_legs%条腿%sound%%num%声跳下水
echo.
pause
goto loop
[/code]

mxxcgzxxx 发表于 2011-5-17 18:22

[i=s] 本帖最后由 mxxcgzxxx 于 2011-5-17 18:27 编辑 [/i]

[code]
@echo off&setlocal enabledelayedexpansion
for /l %%i in (1,1,1000) do (
           set /a a=2*%%i
           set /a b=4*%%i
           set "c=!c!扑通"
           echo %%i只青蛙%%i张嘴!a!只眼睛!b!条腿!c!%%i声跳下水
       pause>nul
          )
[/code]

jsbba 发表于 2011-5-17 20:14

[quote]算术运算是需要用 set /a 来做的
写一个玩玩:
居然还要对声音进行重复
修改一下
不过貌似变量最大只能存储8192字节(具体数目忘记了,不是很确定)
所以
到了4000多只青蛙的时候就会game over了
@echo off
...
[size=2][color=#999999]namejm 发表于 2011-5-17 18:22[/color] [url=http://www.bathome.net/redirect.php?goto=findpost&pid=78980&ptid=12344][img]http://www.bathome.net/images/common/back.gif[/img][/url][/size][/quote]

谢谢版主的代码 很有写的很他有条理啊 我太笨了啊想不上来

jsbba 发表于 2011-5-17 20:14

[quote]
@echo off&setlocal enabledelayedexpansion
for /l %%i in (1,1,1000) do (
           set /a a=2*%%i
           set /a b=4*%%i
           set "c=!c!扑通"
           echo %%i只青蛙%%i张嘴!a!只眼睛! ...
[size=2][color=#999999]mxxcgzxxx 发表于 2011-5-17 18:22[/color] [url=http://www.bathome.net/redirect.php?goto=findpost&pid=78981&ptid=12344][img]http://www.bathome.net/images/common/back.gif[/img][/url][/size][/quote]

for 实现的 短小精悍 太给力了 谢谢这位朋友

Hello123World 发表于 2011-5-18 16:17

[code]@echo off
setlocal EnableDelayedExpansion
for /l %%i in (1 1 100) do (
set c=%%i & set /a a=!c!*2
set /a b=!c!*4
echo %%i只青蛙%%i张嘴!a!只眼睛!b!条腿
for /l %%j in (1 1 %%i) do echo 扑通
echo %%i声跳下水
pause>nul
)[/code]

Hello123World 发表于 2011-5-18 16:21

namejm实现了最大化,版主还是版主。
最大的亮点是set sound=%sound%扑通

applba 发表于 2011-5-18 17:06

为什么要一直扑通呢…………

zz100001 发表于 2011-5-18 17:20

我来给你扑通扑通补上:[code]@echo off
set num=0

:loop
cls
set /a num+=1
set /a num_eyes=%num%*2
set /a num_legs=%num%*4
set/p/=%num%只青蛙%num%张嘴%num_eyes%只眼睛%num_legs%条腿<nul
for /l %%i in (1,1,%num%) do (set/p/=扑通<nul)
set/p/=%num%声跳下水<nul
echo.
pause
goto loop[/code]

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.