找回密码
 加入
搜索
查看: 3471|回复: 10

[AU3基础] 乘法口诀排列的问题?[已解决]

  [复制链接]
发表于 2010-4-7 09:43:48 | 显示全部楼层 |阅读模式
本帖最后由 newuser 于 2010-4-7 16:55 编辑

Dim $i,$j
Dim $s=""
For $i=1 To 9
        For $j=1  To 9
                $s=$s&$i&"*"&$j&"="&($i*$j)&" "
        Next
        $s=$s&@CRLF
Next
MsgBox(0,"乘法口诀列式",$s)
这是SkyFree的代码,我想进行"输出列对齐",可是试了半天不行,大家有好的办法吗?这是外甥女提的问题,哎!

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-4-7 10:58:14 | 显示全部楼层
Dim $i,$j
Dim $s=""
For $i=1 To 9
        For $j=1  To 9
                $s&=StringFormat ("%2d*%2d=%02d",$i,$j,$i*$j)&"  "
        Next
        $s=$s&@CRLF
Next
$s = StringReplace ($s,"=0","=  ")       
MsgBox(0,"乘法口诀列式",$s)

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

 楼主| 发表于 2010-4-7 11:32:50 | 显示全部楼层
回复 2# C.L
谢谢,先吃饭再测试,呵呵!
发表于 2010-4-7 12:46:31 | 显示全部楼层
本帖最后由 lpxx 于 2010-4-7 12:49 编辑

想进行"输出列对齐"?
Dim $i,$j
Dim $s=""
For $i=1 To 9
        For $j=1  To 9
                $s=$s&$i&"*"&$j&"="&($i*$j)&" "& @TAB
        Next
        $s=$s&@CRLF
Next
MsgBox(0,"乘法口诀列式",$s)

是这样么?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

 楼主| 发表于 2010-4-7 15:54:46 | 显示全部楼层
本帖最后由 newuser 于 2010-4-8 08:42 编辑

回复 2# C.L

谢谢,有点明白了,呵呵!

Dim $i,$j
Dim $s=""
For $i=1 To 9
        For $j=1  To 9
                $s&=StringFormat ("%2d *%2d=%-2d",$i,$j,$i*$j)&"  "
        Next
        $s=$s&@CRLF
Next
;$s = StringReplace ($s,"=0","=  ")       修改了StringFormat(),该行可以省略掉了    
MsgBox(0,"乘法口诀列式",$s)

;感谢C.L
;StringFormat("格式控制字符串",变量1[,...变量32])
;返回根据“格式控制字符串”参数定义中的“变量格式”格式化后的字符串
;好绕嘴,就是根据“格式控制字符串定义的格式进行后续变量的输出
; % 格式控制字符串标识
; 2d 以整数类型输出,2是输出的宽度
; - 在指定的宽度左对齐,默认是右对齐
;我将$s&=StringFormat ("%2d*%2d=%2d",$i,$j,$i*$j)&"  " 改成 $s&=StringFormat ("%2d *%2d=%-2d",$i,$j,$i*$j)&"  "

;StringReplace("字符串","搜索串"或起始位置,"替换串"[,数量[区分大小写]]
;$text = StringReplace("this is a line of text", " ", "-")
;$numreplacements = @extended

;@extended 扩展函数返回值,常用于StringReplace()

;MsgBox(0, "替换后:", $text)
;MsgBox(0, "替换操作次数:", $numreplacements)
发表于 2010-4-7 15:57:30 | 显示全部楼层
内循环终值到$i就行了吧
 楼主| 发表于 2010-4-7 16:01:40 | 显示全部楼层
回复 4# lpxx

@TAB  制表符,更精简了,呵呵!StringFormat @TAB都看过,看来还是在实践中学真知啊!
发表于 2010-4-7 16:59:21 | 显示全部楼层
经验啊。。。。这是书本是学不到的。。。
 楼主| 发表于 2010-4-8 08:34:50 | 显示全部楼层
本帖最后由 newuser 于 2010-4-8 08:43 编辑

回复 6# netegg
真是一个小九九,条条通罗马!
换了以下顺序,就满足了外甥女的要求,呵呵!

Dim $i,$j
Dim $s=""
For $i=1 To 9
        For $j=1  To $i
                $s=$s&$j&"*"&$i&"="&($j*$i)&" "& @TAB
        Next
        $s=$s&@CRLF
Next
MsgBox(0,"乘法口诀列式",$s)
发表于 2010-7-3 11:20:39 | 显示全部楼层
Dim $i,$j
Dim $s=""
Dim $n=1
For $i=1 To 9
        For $j=$n  To 9
                $s&=StringFormat ("%2d*%1d=%-3d",$i,$j,$i*$j)
        Next
        $s=$s&@CRLF
                $n+=1
Next
$s = StringReplace ($s,"=0","=  ")       
MsgBox(0,"乘法口诀列式",$s)
发表于 2010-7-3 11:22:52 | 显示全部楼层
Dim $i,$j
Dim $s=""
;Dim $n=1
For $i=1 To 9
        For $j=1  To $i
                $s&=StringFormat ("%2d*%1d=%-3d",$i,$j,$i*$j)
        Next
        $s=$s&@CRLF
                ;$n+=1
Next
$s = StringReplace ($s,"=0","=  ")       
MsgBox(0,"乘法口诀列式",$s)
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-10-3 14:31 , Processed in 0.079040 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表