中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-22 20:20
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 九九乘法表 查看 14,096 回复 36
16 发表于 2007-02-01 06:04 ·  中国 山东 济南 电信
初级用户
积分 125
发帖 44
注册 2007-01-24 15:31
19年会员
UID 77555
性别 女
状态 离线
灌水了....

@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 ]
本帖最近评分记录 (共 4 条) 点击查看详情
评分人分数时间
namejm +8 2007-02-11 00:27
ccwan +9 2007-02-11 00:40
PPdos +4 2007-02-13 17:05
huzixuan +2 2007-05-01 16:35
17 发表于 2007-02-01 09:15 ·  中国 广东 广州 番禺区 电信
初级用户
★★
积分 197
发帖 77
注册 2006-09-19 14:02
19年会员
UID 63074
性别 男
状态 离线
有待研究...吸收
18 发表于 2007-02-10 18:53 ·  中国 山西 移动
初级用户
积分 27
发帖 14
注册 2007-02-10 16:57
19年会员
UID 79176
性别 男
状态 离线
象偶这样的只能做死工,ECHO输出……
19 发表于 2007-02-11 00:31 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  qjbm 用Tab键来控制排版,精简了不少代码,高。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
20 发表于 2007-02-16 09:39 ·  中国 广西 梧州 岑溪市 联通
新手上路
积分 11
发帖 5
注册 2007-02-15 11:04
19年会员
UID 79561
性别 男
状态 离线
玩玩
21 钦佩 发表于 2007-02-17 14:07 ·  中国 湖北 潜江 电信
高级用户
★★★
积分 894
发帖 411
注册 2007-02-17 12:15
19年会员
UID 79697
性别 男
状态 离线
见到了批处理命令的厉害.
22 发表于 2007-02-17 14:23 ·  中国 黑龙江 绥化 联通
初级用户
积分 24
发帖 9
注册 2007-02-09 23:52
19年会员
UID 79086
性别 男
状态 离线
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
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
namejm +4 2007-02-21 03:53
23 发表于 2007-02-17 17:43 ·  美国 弗吉尼亚州 华盛顿县 Microsoft
高级用户
★★
积分 783
发帖 268
注册 2006-12-26 17:18
19年会员
UID 74627
性别 男
状态 离线
16楼 已经提示:Tab在论坛中无法正确显示

所以你要把拷贝中 !h!和<nul 之间的空格替换成Tab键的空格

set /p=%%i×%%j^=!h! <nul
菩提本无树,明镜亦非台,本来无一物,何处惹尘埃.
24 发表于 2007-02-21 03:54 ·  中国 湖南 怀化 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  spiegboy 的代码非常不错,加分了。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
25 namejm版主在吗? 发表于 2007-03-01 07:35 ·  中国 广东 东莞 电信
新手上路
积分 18
发帖 6
注册 2007-03-01 04:37
19年会员
UID 80446
性别 男
状态 离线
小弟是刚刚注册到这个论坛的.有很多不懂的.请多多照顾一下.同时也希望有愿意收徒弟而且人际关系和心底善良的加小弟QQ:453803302

跪谢了!
26 发表于 2007-03-01 13:47 ·  中国 上海 闵行区 电信
初级用户
积分 24
发帖 12
注册 2007-02-28 16:58
19年会员
UID 80409
性别 男
状态 离线
厉害``
27 发表于 2007-05-01 16:37 ·  中国 安徽 芜湖 电信
高级用户
★★
积分 537
发帖 219
注册 2006-10-31 21:08
19年会员
UID 69036
性别 男
来自 芜湖
状态 离线
斑竹和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
江湖远
碧空长
路茫茫

一个人漫无目的的奔跑,风,刺骨的冷....
28 发表于 2007-05-02 13:17 ·  中国 福建 福州 电信
新手上路
积分 6
发帖 2
注册 2007-05-02 12:41
19年会员
UID 87265
性别 男
状态 离线
问一下,我是一个新手,就是按照楼上的说使用**.XXX >**.XXX 就可以实施输出的是吧?那么比如我想要输出一个文件的时候只要输入一个文件名就可以帮我输出到一个相应的TXT文件(或固定的比如1.TXT),要怎么做呢?

[ Last edited by DarkDrgon on 2007-5-2 at 12:37 AM ]
如果长大就像起飞的气球
我宁愿
永远停留在地面
不起飞
29 发表于 2007-05-02 13:36 ·  中国 湖南 联通数据上网公共出口
社区乞丐
★★
gaoshou
积分 -16
发帖 77
注册 2007-01-30 09:11
19年会员
UID 78105
性别 男
状态 离线
为什么要按回车呢?
:cool:
30 发表于 2007-05-08 11:24 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
今天有看到这个帖子了,来一段vbs版的九九乘法表吧。


  1. Dim i, m , s
  2. For i = 1 To 9
  3. s = s & vbLf
  4. For m = 1 To i
  5. s = s & m & "×" & i & " = " & Left(i * m & " ", 2) & Space(2)
  6. Next
  7. Next
  8. MsgBox s ,,"九九乘法表"
ccwan发表于: 2007-05-08 11:23
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
论坛跳转: