使用VBS生成隨機(jī)數(shù)并求出最值
在Excel表格中,我們可以使用VBA程序來求解最大值和最小值,通過引用Excel應(yīng)用函數(shù)功能(如:最大值,)來實(shí)現(xiàn)。然而,在VBS腳本程序中卻沒有專門用于求解最值的函數(shù)。所以,我們只能使用嵌套循環(huán)來
在Excel表格中,我們可以使用VBA程序來求解最大值和最小值,通過引用Excel應(yīng)用函數(shù)功能(如:最大值,)來實(shí)現(xiàn)。然而,在VBS腳本程序中卻沒有專門用于求解最值的函數(shù)。所以,我們只能使用嵌套循環(huán)來比較生成的隨機(jī)數(shù),以求得其中的最大值和最小值。
VBS程序代碼
首先,我們需要新建一個(gè)文本文檔,并在其中輸入以下VBS程序代碼:
```vbs
Dim Ra, Rm, Ri, j1, j2, j3, j4, j5, n, MyArray(1000)
On Error Resume Next '忽略運(yùn)行過程中可能出現(xiàn)的錯(cuò)誤
Randomize '初始化隨機(jī)數(shù)生成器
Rm ""
i Int(InputBox("請輸入隨機(jī)數(shù)個(gè)數(shù):", "請輸入隨機(jī)數(shù)個(gè)數(shù)", 5)) '隨機(jī)數(shù)個(gè)數(shù),默認(rèn)為5個(gè)
For j3 1 To i
MyArray(j3) Int(Rnd() * 1000) '生成0-1000之間的隨機(jī)整數(shù)
If Rm <> "" Then
Rm Rm ","
Rm Rm MyArray(j3) '生成的隨機(jī)數(shù)賦給Rm
Else
Rm "隨機(jī)數(shù):" MyArray(j3)
End If
Next
For j1 1 To i
n 0
For j2 1 to i
If MyArray(j1) > MyArray(j2) Then '進(jìn)行比較,然后選出最大值
n n 1
End If
If n i Then
Ra"最大值:" MyArray(j1) '選出最大值賦給Ra
End If
Next
Next
For j4 1 To i
n 0
For j5 1 To i
If MyArray(j4) < MyArray(j5) Then '進(jìn)行比較,然后選出最小值
n n 1
End If
If n i Then
Ri"最小值:" MyArray(j4) '選出最小值賦給Ri
End If
Next
Next
Msgbox Rm Chr(13) Ra Chr(13) Ri '彈出生成的隨機(jī)數(shù)窗口
```
解讀VBS腳本程序
1. 使用VBS程序生成隨機(jī)數(shù)時(shí),應(yīng)當(dāng)對隨機(jī)數(shù)生成器進(jìn)行初始化,以避免每次生成的隨機(jī)數(shù)都相同。
2. InputBox輸入框函數(shù)的語法為:InputBox("提示信息", "輸入框的標(biāo)題", 默認(rèn)輸入值),前面加上“Int”函數(shù)是為了將輸入的數(shù)值取整。
3. 程序中的兩個(gè)嵌套的""循環(huán)函數(shù)主要是從數(shù)組中取出一個(gè)數(shù)與整個(gè)數(shù)組進(jìn)行比較,滿足條件即為所求的最值。
運(yùn)行程序
1. 將文本文檔的后綴名由“*.txt”改為“*.vbs”。
2. 雙擊已經(jīng)重命名的VBS腳本程序,并輸入要生成隨機(jī)數(shù)的個(gè)數(shù)(例如:6個(gè))。
3. 程序運(yùn)行完成后,將會(huì)看到運(yùn)行結(jié)果彈出窗口,其中包括生成的隨機(jī)數(shù)、最大值和最小值。