问题 填空题

本程序的功能是查找一组数据中的众数。所谓众数,就是在这组数据中出现次数最多的数.注意:一组数据中的众数可能有多个.(即有多个数据的出现次数相同)。事件过程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 Integer,j As Integer,js As Integer,n As Integer

For i=1 To UBound(a)

js=1

For j=1 To n ’搜索数组a中不相同的数据

If Shu(j)=a(i) Then Exit For

Next j

If () Then

n=n+1

ReDim ()

Shu(n)=a(i)

For j=i+1 To UBound(a)

If a(j)=a(i) Then ()

Next j

Cs(n)=js

List1.AddItem a(i) & "---" &js

End If

Next i

End Sub

答案

参考答案:max=cs(i);cs(i)=max;j>n;preserve shu(n),cs(n);js=js+A

单项选择题
单项选择题 A1型题