标题: 九九乘法表
[打印本页]
作者: namejm
时间: 2006-12-26 13:00
标题: 九九乘法表
圣诞实在无聊,发个无聊的东西出来娱乐一下:
@echo off
:: 九九乘法表
set num=0
for /l %%i in (1,1,9) do (
for /l %%j in (1,1,%%i) do call :multiply %%i %%j
)
pause>nul
goto :eof
:multiply
set /a num+=1
set /a var=%1*%2
set var=%2×%1=%var%
set var=%var%
if %2 equ 1 (set var=%var:~0,5%) else set var=%var:~0,6%
set str=%str% %var%
if %num% equ %1 echo %str%&set str=&set num=0
goto :eof
稍微修改一下之后,排版更加规整。
[
Last edited by namejm on 2006-12-26 at 08:14 AM ]
作者: lxmxn
时间: 2006-12-26 13:57
学习了~
版面很规整,for的嵌套也用的经典。
作者: redtek
时间: 2006-12-26 21:43
哇噻~~顶!!!
输出的格式也是这么漂亮~~~欣赏!!!
1×1=1
1×2=2 2×2=4
1×3=3 2×3=6 3×3=9
1×4=4 2×4=8 3×4=12 4×4=16
1×5=5 2×5=10 3×5=15 4×5=20 5×5=25
1×6=6 2×6=12 3×6=18 4×6=24 5×6=30 6×6=36
1×7=7 2×7=14 3×7=21 4×7=28 5×7=35 6×7=42 7×7=49
1×8=8 2×8=16 3×8=24 4×8=32 5×8=40 6×8=48 7×8=56 8×8=64
1×9=9 2×9=18 3×9=27 4×9=36 5×9=45 6×9=54 7×9=63 8×9=72 9×9=81
想起了小时候背这东东的时光,哈哈……
作者: jmz573515
时间: 2006-12-26 22:34
好东西
不知道怎么把它输出到文件?
作者: redtek
时间: 2006-12-26 22:51
版主的.bat >乘法表.txt
执行后(屏幕什么都不显示,因为还有一个pause需要你按一下键),按回车,就行了:)
执行后将内容输出到 乘法表.txt 文件中。
作者: jmz573515
时间: 2006-12-26 22:59
学习了,这么简单的道理,哎~~
作者: lxmxn
时间: 2006-12-27 02:41
Quote: |
Originally posted by redtek at 2006-12-26 09:51:
版主的.bat >乘法表.txt 执行后(屏幕什么都不显示,因为还有一个pause需要你按一下键),按回车,就行了:)
执行后将内容输出 ... |
|
兄不说,我还不知道这种方法呢。汗……学习了.
作者: vkill
时间: 2006-12-27 07:05
namejm兄喜欢研究,学习值得
作者: electronixtar
时间: 2006-12-27 08:16
……
作者: flamey
时间: 2007-1-1 04:46
利害
作者: weapfe
时间: 2007-1-1 05:20
版主的.bat >乘法表.txt
~~~~N~了
作者: zh159
时间: 2007-1-1 05:44
Quote: |
Originally posted by redtek at 2006-12-26 08:43:
......
想起了小时候背这东东的时光,哈哈…… |
|
常常和别人比速度,那时候一般25秒左右背完
作者: KUN
时间: 2007-1-1 05:47
同当时学习C语言时差不多!哈哈!
作者: redtek
时间: 2007-1-31 06:55
Quote: |
Originally posted by zh159 at 2006-12-31 16:44:
常常和别人比速度,那时候一般25秒左右背完 |
|
够快~~~
再次欣赏乘法表~~
作者: bob1989
时间: 2007-1-31 10:41
学习````
作者: qjbm
时间: 2007-2-1 06:04
灌水了....
@ECHO %DBG% OFF
SETLOCAL ENABLEDELAYEDEXPANSION
for /l %%i in (1,1,9) do (
for /l %%j in (1,1,%%i) do (
set /a h=%%i*%%j
set /p=%%i×%%j^=!h! <nul
if %%i==%%j echo.
)
)
真成灌水了..原来关键在于控制排版...
不过排版问题还是解决了,:)用Tab代替空格就可以了.就可以不必花心思排版了.
Tab在论坛中无法正确显示...???
[
Last edited by qjbm on 2007-1-31 at 05:38 PM ]
作者: bbq123bbq
时间: 2007-2-1 09:15
有待研究...吸收
作者: 163lom
时间: 2007-2-10 18:53
象偶这样的只能做死工,ECHO输出……
作者: namejm
时间: 2007-2-11 00:31
qjbm 用Tab键来控制排版,精简了不少代码,高。
作者: zxjaaa
时间: 2007-2-16 09:39
玩玩
作者: 6622186
时间: 2007-2-17 14:07
标题: 钦佩
见到了批处理命令的厉害.
作者: spiegboy
时间: 2007-2-17 14:23
16楼哥们的排版还是不如楼主的整齐,个人觉得楼主的比较完美
我觉得还可以化简一下
@echo off
:: 99 乘法表
setlocal enabledelayedexpansion
for /l %%a in (1,1,9) do (
for /l %%b in (1,1,%%a) do (
set /a i+=1
set /a ans=%%a*%%b
set ans=%%b×%%a=!ans!
set res=!res! !ans:~0,6!
if !i! equ %%a echo!res!&set res=& set i=0
)
)
pause
作者: PPdos
时间: 2007-2-17 17:43
16楼 已经提示:Tab在论坛中无法正确显示
所以你要把拷贝中 !h!和<nul 之间的空格替换成Tab键的空格
set /p=%%i×%%j^=!h! <nul
作者: namejm
时间: 2007-2-21 03:54
spiegboy 的代码非常不错,加分了。
作者: microsoftxly
时间: 2007-3-1 07:35
标题: namejm版主在吗?
小弟是刚刚注册到这个论坛的.有很多不懂的.请多多照顾一下.同时也希望有愿意收徒弟而且人际关系和心底善良的加小弟QQ:453803302
跪谢了!
作者: ran520
时间: 2007-3-1 13:47
厉害``
作者: huzixuan
时间: 2007-5-1 16:37
斑竹和16楼兄写的真好,刚进来那会还写不了 今天我也可以写个了
@echo off
set "num1=1"
set "flag=0"
:do
if %num1% lss %flag% (
set /a "num1+=1"
) else (
echo.
set "num1=1"
set /a "flag+=1"
)
set /a "num=%num1%*%flag%"
set/p=%num1%×%flag%=%num% <nul
if %num1% equ 9 (pause>nul&exit)
goto do
作者: DarkDrgon
时间: 2007-5-2 13:17
问一下,我是一个新手,就是按照楼上的说使用**.XXX >**.XXX 就可以实施输出的是吧?那么比如我想要输出一个文件的时候只要输入一个文件名就可以帮我输出到一个相应的TXT文件(或固定的比如1.TXT),要怎么做呢?
[
Last edited by DarkDrgon on 2007-5-2 at 12:37 AM ]
作者: hngaoshou
时间: 2007-5-2 13:36
为什么要按回车呢?
作者: ccwan
时间: 2007-5-8 11:24
今天有看到这个帖子了,来一段vbs版的九九乘法表吧。
Quote: |
- Dim i, m , s
- For i = 1 To 9
- s = s & vbLf
- For m = 1 To i
- s = s & m & "×" & i & " = " & Left(i * m & " ", 2) & Space(2)
- Next
- Next
- MsgBox s ,,"九九乘法表"
ccwan发表于: 2007-05-08 11:23 |
|
作者: 6622186
时间: 2007-7-10 16:29
vbLf 这是什么
作者: junchen2
时间: 2007-9-1 21:37
学习````
作者: upperc
时间: 2008-4-6 14:39
经典啊。。。。。
是LZ无聊时候写的,学习中阿 !!!!!!!!!!!!
作者: txiaowen
时间: 2008-4-6 14:49
学习中...
作者: breakme
时间: 2010-1-28 13:59
标题: 哇塞,我来个一行代码的
@echo off&setlocal EnableDelayedExpansion&echo.&echo 小学乘法口诀表&for /l %%i in (1,1,9)do for /l %%j in (1,1,%%i)do (set /a a=%%i*%%j&set "b=!b! %%j*%%i = !a!"&if %%j equ %%i echo !b!&set "b=")&if %%j equ 9 pause>nul
作者: killkk
时间: 2010-1-28 22:53
强悍啊。。。 羡慕死我了。。。 0.0
作者: acaigg
时间: 2010-12-28 15:20
学习了