Vbscript Vbs乘法表
我正在为我的编程类制作资源,其实这是非常基本的脚本,我找到了这个网站,并浏览了一下,确实有很多关于脚本的有用的东西,但我搜索的东西不在列表中,或者我没有使用正确的关键字 不管怎样,我的问题是 我的老师让我写一个Vbs打印乘法表,我做了研究,这就是我现在的位置Vbscript Vbs乘法表,vbscript,Vbscript,我正在为我的编程类制作资源,其实这是非常基本的脚本,我找到了这个网站,并浏览了一下,确实有很多关于脚本的有用的东西,但我搜索的东西不在列表中,或者我没有使用正确的关键字 不管怎样,我的问题是 我的老师让我写一个Vbs打印乘法表,我做了研究,这就是我现在的位置 dim sum, arraynum(), arrayline1, count, arraynum2(), arrayline2, arraynum3(), arrayline3, arraynum4(), arrayline4, array
dim sum, arraynum(), arrayline1, count, arraynum2(), arrayline2, arraynum3(), arrayline3, arraynum4(), arrayline4, arraynum5(), arrayline5
count=1
sum=1
arrayline1=1
for count=1 to 5
redim preserve arraynum(arrayline1)
redim preserve arraynum2(arrayline2)
redim preserve arraynum3(arrayline3)
redim preserve arraynum4(arrayline4)
redim preserve arraynum5(arrayline5)
arraynum(arrayline1)=sum
arraynum2(arrayline2)=sum*2
arrayline2=arrayline2+1
arraynum3(arrayline3)=sum*3
arrayline3=arrayline3+1
arraynum4(arrayline4)=sum*4
arrayline4=arrayline3+1
arraynum5(arrayline5)=sum*5
arrayline5=arrayline5+1
sum=sum+1
arrayline1=arrayline1+1
next
wscript.echo join(arraynum) & vbcrlf & join(arraynum2) & vbcrlf & join(arraynum3) & vbcrlf & join
(arraynum4) & vbcrlf & join(arraynum5)
' Its printing like;
' 1 2 3 4 5
' 2 4 6 8 10
' 3 6 8 12 15
' 4 8 12 16 20
' 5 10 15 20 25
正如你所看到的,它们不是一条直线,我不能用输入来实现这一点,我的意思是获取一个输入并显示乘法表,我希望我说得足够清楚,如果不是太多的话,我可以问如何在它们之间加一个边界,或者是否可能。诀窍是对正在打印的值应用leftpadding:计算值包含的字符数,从固定数量中减去字符数,然后向值中添加相同数量的空格。 此示例将替换并左键填充
vbTab
字符。如果使用vbTab
而不是默认空格来连接数组,则可以使用此函数
因为这是一个家庭作业,我还添加了一些代码,以递归方式获取数字的倍数,从0开始。只是为了引起一些好奇。我不建议只是复制粘贴它,它不符合您的要求:“从1开始”
谢谢回答@AutomatedChaos不,我不会复制粘贴它,而是尝试改进我的脚本。我做了更多的研究,现在我真的很接近了,但仍然有一些错误,我无法画出一条直线,我尝试了左填充,但每次它都会抛出一个错误,这就是我现在的位置`Dim MaxNum Dim x,y,sum2,sum MaxNum=inputbox(“请输入乘数范围:”)x=1 y=1 sum2=1表示y=1到MaxNum表示x=1到MaxNum redim preserve arraynum(sum2)arraynum(sum2)=sum2=sum2+1 sum=x*y下一个Wscript.Echo连接(arraynum,Chr(5)&VBtab)`
dim multiple
' Get the numbers 0 to 5
for each multiple in split(getMultiples(1,5), vbTab)
' print the multiplication table for each of this numbers
wscript.echo trim(TabToLpad(getMultiples(multiple, 5), 10))
next
' Does the calculation and returns a Tab delimited string of all multiples
function getMultiples(nr, amount)
getMultiples = 0
' As long as the amount is larger then 0, get the next multiple
if amount > getMultiples then getMultiples = getMultiples(nr, amount-1) & vbTab & (nr * amount)
End function
' Pads each value in a tab delimited string with the nrPadChars spaces. Returns a string.
function tabToLpad(str, nrPadChars)
dim part
for each part in split(str, vbTab)
tabToLpad = tabToLpad & string(nrPadChars - len(part), " ") & part
next
End Function