本程序的功能是查找一组数据中的众数。所谓众数,就是在这组数据中出现次数最多的数.注意:一组数据中的众数可能有多个.(即有多个数据的出现次数相同)。事件过程Cmdfind主要功能是生成n个随机整数存入数组,再调用Freq过程,求出数组中每个不相同的数据出现的次数:再求出其中最大的出现次数值,最后,将求出相应的众数输出。请完善本程序。
Option Explicit
Option Base 1
Private Sub Cmdfind_Click( )
Dim a( ) As Integer,n As Integer,i As Integer
Dim Shu( ) As Integer,Cs( ) As Integer,Max As Integer
n=InputBox("输入数据个数:","查找众数",20)
ReDima(n)
Randomize
For i=1 To n
a(i)=Int(Rnd*5)+5
Text1=Text1 &Str(a(i))
If i Mod 10=0 Then Text1=Text1 &vbCrLf
Next i
Call Freq(a,Shu,Cs)
Max=Cs(1)
For i=2 To UBound(Cs)
If Cs(i)>Max Then
()
End If
Next i
For i=1 To UBound(Cs)
If () Then Text2=Text2 &Shu(i) & " "
Next i
End Sub
Private Sub Freq(a( ) As Integer,Shu( ) As Integer,Cs( ) As Integer)
’shu数组用于存放A数组中不相同数据的值
’Cs数组用于存放对应不相同数据出现的次数
Dim i As Inte
运行下列过程,当输入一组数据:10,20,50,80,40,30,90,100,60,70,输出的结果应该是()。
Sub p1( )
Dim i, j, arr(11) As Integer
k = 1
while k <= 10
arr(k) = Val(InputBox(“请输入第” & k & “个数:”, “输入窗口” ))
k = k + 1
Wend
For i = 1 To 9
j = i + 1
If arr(i ) > arr(j) Then
temp = arr(i)
arr(i) = arr(j)
arr(j) = temp
End If
Debug.Print arr(i)
Next i
End Sub
我来回答: