生成序列的前10个数字

时间:2015-08-23 08:05:04

标签: vbscript sequence qtp series

我一直试图创建这个序列:

2,7,17,37,67,...

我必须先打印10个系列号码。

为此,我创建了以下内容:

option explicit
Dim m,n,i,str,d

m=2
d=10
n=7
For i=0 to 10
n=n+d
d=d+10

str=str&n&vbcrlf

msgbox str
next

我无法打印前两个数字27,因为它们是在for循环之前声明的。即使我将它们存储在一个名为str的变量中,它们也会在每次执行后打印出来。有没有办法添加这两个并只打印一次。

1 个答案:

答案 0 :(得分:1)

在开始运行序列之前,您可以将初始值m添加到字符串中。然后,将n的值附加到循环的 start 而不是结尾的字符串中,以便捕获n的初始值。例如:

m=2: d=10: n=7
str = m & vbCrLf              ' Capture initial value of m

For i = 1 to 9
    str = str & n & vbCrLf    ' Capture initial value of n
    n = n + d
    d = d + 10
Next

MsgBox str

请注意,您现在只循环了9次,因为您已经在循环之前捕获了序列中的第一个数字(m)。

我还将MsgBox移到你的循环之外,这样它只会在生成完整的10个数字序列后出现一次。