对两个数组求并集,由于对数组的操作不是很熟悉,所以将数组中的数存到listbox中,再对listbox中的数进行操作,将相同的都删除,只留下一个,然后再将得到的数重新保存到数组输出,方法有点复杂,但是能够达到效果,也可以继续编写拓展到任意个数组求并集,也可以将数组元素的输入优化,通过直接在text控件中写入,中间用空格分开,读取的时候再用split函数将其取出,赋给数组进行后续操作,这里不再赘述。下面是源码:
Private Sub Command1_Click()
Dim A(), B(), C()
Dim Num1 As Integer, Num2 As Integer
Dim i As Integer, j As Integer, Ln As Integer
Text1 = ""
Text2 = ""
Text3 = ""
List1.Clear
On Error Resume Next
Num1 = InputBox("请输入 数组1 的元素个数", "元素个数")
ReDim A(Num1)
For i = 1 To Num1
A(i) = InputBox("请输入 数组1 的 第" & i & "个 元素", "输入元素")
Text1 = Text1 & A(i) & " "
Next i
Num2 = InputBox("请输入 数组2 的元素个数", "元素个数")
ReDim B(Num2)
For i = 1 To Num2
B(i) = InputBox("请输入 数组2 的 第" & i & "个 元素", "输入元素")
Text2 = Text2 & B(i) & " "
Next i
Ln = Num1 + Num2
ReDim C(Ln)
For i = 1 To Num1
C(i) = A(i)
Next i
For i = Num1 + 1 To Ln
C(i) = B(i - Num1)
Next i
On Error Resume Next
For i = 1 To Ln
List1.AddItem C(i)
Next i
For i = 0 To List1.ListCount - 1
For j = i + 1 To List1.ListCount - 1
If List1.List(i) = List1.List(j) Then
List1.RemoveItem (j)
j = j - 1
End If
Next j
Next i
ReDim C(List1.ListCount)
For i = 1 To List1.ListCount
C(i) = List1.List(i - 1)
Text3 = Text3 & C(i) & " "
Next i
End Sub
Private Sub Command1_Click()
Dim A(), B(), C()
Dim Num1 As Integer, Num2 As Integer
Dim i As Integer, j As Integer, Ln As Integer
Text1 = ""
Text2 = ""
Text3 = ""
List1.Clear
On Error Resume Next
Num1 = InputBox("请输入 数组1 的元素个数", "元素个数")
ReDim A(Num1)
For i = 1 To Num1
A(i) = InputBox("请输入 数组1 的 第" & i & "个 元素", "输入元素")
Text1 = Text1 & A(i) & " "
Next i
Num2 = InputBox("请输入 数组2 的元素个数", "元素个数")
ReDim B(Num2)
For i = 1 To Num2
B(i) = InputBox("请输入 数组2 的 第" & i & "个 元素", "输入元素")
Text2 = Text2 & B(i) & " "
Next i
Ln = Num1 + Num2
ReDim C(Ln)
For i = 1 To Num1
C(i) = A(i)
Next i
For i = Num1 + 1 To Ln
C(i) = B(i - Num1)
Next i
On Error Resume Next
For i = 1 To Ln
List1.AddItem C(i)
Next i
For i = 0 To List1.ListCount - 1
For j = i + 1 To List1.ListCount - 1
If List1.List(i) = List1.List(j) Then
List1.RemoveItem (j)
j = j - 1
End If
Next j
Next i
ReDim C(List1.ListCount)
For i = 1 To List1.ListCount
C(i) = List1.List(i - 1)
Text3 = Text3 & C(i) & " "
Next i
End Sub