2道vb的题

来源:百度知道 编辑:UC知道 时间:2024/06/15 13:25:04
1 编写函数过程max,求数组中最大值。按command命令按钮,使用随机函数产生10~100之间的10个随机数给数组赋初值,然后调用max,输出最大值。
2 编写一个子过程用于判断给定的任意正整数是否是素数,并在“调用子过程”按钮中编写调用语句。

Public Function max(arr() As Double)
n = 0
For i = 1 To UBound(arr)
If arr(n) < arr(i) Then n = i
Next
max = arr(n)
End Function

Private Sub Command1_Click()
Dim arr(9) As Double
Randomize
For i = 0 To 9
arr(i) = Int(Rnd * 91) + 10
Print arr(i);
Next i
Print
Print max(arr)
End Sub

Private Sub Command2_Click()
Dim a As Integer
a = InputBox("输入")
Print a & IIf(IsPrime(a), "是", "不是") & "素数"
End Sub

Public Function IsPrime(ByVal num As Long) As Boolean
Dim m As Long
m = Sqr(num)
IsPrime = True
For i = 2 To m
If num Mod m = 0 Then
IsPrime = False
Exit For
End If
Next i
End Function