VBS脚本程序的数组排序
来源:网络收集 点击: 时间:2024-04-14思路解读:
vbs脚本程序里面没有最大、最小之类的函数,自然不能使用这些函数功能逐一的从数组里面挑选出最大值进行排序(即:数组里面挑选出最值之后把原来的位置替换成空白)。
既然没有最值函数功能,那就采用逐一比较的方法筛选出最值,然后再进行排序,想起来确实有点复杂。即使再复杂,也要有所行动,才会有收获。
2/7电脑上面新建一个空白的文本文档,在文本文档里面输入以下VBS脚本程序代码并保存。
Dim e1, e2, e3, e4, e5, e6, myArray(7), str
On Error Resume Next 忽略可能出现的错误
Randomize 随机数生成器初始化
For e1 = 0 To 7
myArray(e1) = Int(Rnd() * 90 + 10) 生成8个10-100之间的随机正整数
Next
For e2 = 0 To 7 对数组里面的8个数进行逐一执行
e5 = 8 - e2 每次执行时最大值出现的次数
For e3 = 0 To 7
e6 = 0 e6初始化为0
If myArray(e3) Then 如果对应数组里面的数值不是空白,则
For e4 = 0 To 7
If myArray(e4) Then
If myArray(e3) - myArray(e4) = 0 Then 如果它们的差值大于或等于0,则
e6 = e6 + 1 e6递增1
End If
End If
If e6 = e5 Then 如果累计的最大值出现的次数满足条件,则
Exit For 退出For循环
End If
Next
If e6 = e5 Then
If str = Then 如果Str第一个字符为空白,则把数组的值赋给Str
str = myArray(e3)
Else
str = str , myArray(e3) 否则就使用Str + ,+ 数组的值拼接起来
End If
myArray(e3) = 对应的数组值置空白
Exit For
End If
End If
Next
Next
MsgBox 随机数由大到小排序: Chr(10) str

vbs脚本程序解读:
在此程序里面,并没有出现陌生的程序函数,主要的还是For函数的嵌套使用。第一个for主要是用于生成随机的8个数并赋值到数组里面相应的位置。
第二个for可以理解为对数组里面的8个数进行逐一排序。
第三、四个for则是对数组里面的数值进行逐一比较,然后筛选出最大值,再把原来的位置置空(以免重复比较)。

重命名文本文档(如:vbs随机数数组排序),同时把文本文档的后缀名改成“*.vbs”。

如果电脑上面文档不显示出后缀名,则依次点击文件浏览器菜单栏上面的【工具】,【文件夹选项】,【查看】,把“隐藏已知文件类型的扩展名”前面的“√”去掉并点击【确定】。(如果已经显示出后缀名,则忽略此步)

双击运行VBS脚本程序,将会看到生成的随机数按照大到小的顺序排序。

vbs脚本程序的数组排序平时的用处可能不是很大,但它可以锻炼一下思维,也可以把它移植到其他程序上面使用(如:VBA),或者稍作修改以发挥出它的功能。

个人经验,仅供参考。
编程语言VBSCRIPT版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_509114.html