问题 填空题

下面程序的功能是:统计存放在数组A中的N个数有多少个是不同的。具体做法是:变量Left指向要被处理的数(从第2个元素开始),Right指向数组最后一个元素。若A(Left)与排在它前面的某个数组元素值相同,就用数组元素A(Right)的值来替换A(Left)的值,同时将变量Right的值减1;否则将变量Left的值加1,处理数组下一个元素,重复以上过程,直到Left>Right为止。Right的值即为不同的数的个数。

Option Explicit

OptionBase 1

Private Sub Commandl_Click()

Dim A() As Integer,N As Integer,I AS Integer

Dim OP As Integer

N=InputBox("请输入数据个数", ,10)

ReDim A(N)

Randomize

For I=1 To N

A(I)=Int(Rnd*10)+1

Text1=Text1 & A(1) & " "

Next I

Call Statistic(A,OP)

Text2="有" & oP & "个不同的数:"

For I=1 To OP

Text2=Text2 & A(I) & " "

Next I

End Sub

Private Sub Statistic(A() As Integer,Right As Integer)

Dim Left As Integer,K As Integer,I As Integer

Right=()

Left=2

Do While Left<=Right

K=()

For I=K To 1 Step -1

If A(Left)=A(I) Then Exit For

Next I

If ()Then

Left=Left+1

. Else

A(Left)=A(Right)

()

End If

Loop

End Sub

答案

参考答案:UBound(A);Left-1;I=0;Right=Right-1

单项选择题
名词解释