数组内项数为什么不能增加
<P>本人有这样一个想法,写了以下程序,可是失败,简单的我都搞不定,希望有朋友可以帮忙修改,先谢过!</P><P>数组a(2)原有三个数 1、2、3,然后手动输入4个数,如果输入的数与a(2)中的任何一个数都不相等,那么这个数就增加到数组a中,如输入2、3、4、8,则数组a中的元素就成了1、2、3、4、8,如果与数组a中一个数相同则这个数将不增加到数组a中</P>
<P>Public Sub bz()<BR>Dim a(2) As Double, b(2) As Double, shu As Integer<BR>a(0) = 1: a(1) = 2: a(2) = 3<BR>For I = 0 To 3<BR> b(I) = InputBox("请输入数", "", "")<BR> If b(I) <> a() Then<BR> shu = UBound(a) + 1<BR> ReDim Preserve a(0 To shu)<BR> a(shu) = b(I)<BR> End If<BR>Next</P>
<P>End Sub<BR></P> <P>If b(I) <> a() Then 这句话有问题,b(i)是一个Double,而a()是个数组</P>
<P>改成这样:</P>
<P>Sub main()<BR>Dim a() As Double, b(3) As Double, judge As Boolean<BR>ReDim a(2) As Double<BR>a(0) = 1: a(1) = 2: a(2) = 3<BR>For i = 0 To 3<BR> b(i) = InputBox("请输入数", "", "")<BR> judge = False<BR> For j = 0 To UBound(a) - 1<BR> If b(i) = a(j) Then judge = True<BR> Next<BR> If judge = False Then ReDim Preserve a(UBound(a) + 1): a(UBound(a)) = b(i)<BR>Next</P>
<P>End Sub</P> <P>我分析过,有点出入,本人已改正,不过很感谢大师提拨</P>
<P>Sub main()<BR>Dim a() As Double, b(2) As Double, judge As Boolean<BR>ReDim a(2) As Double<BR>a(0) = 1: a(1) = 2: a(2) = 3<BR>For i = 0 To 2<BR> b(i) = InputBox("ÇëÊäÈëÊý", "", "")<BR> judge = False<BR> For j = 0 To UBound(a)<BR> If b(i) = a(j) Then judge = True<BR> If judge = True Then<BR> Exit For<BR> End If<BR> Next<BR> If judge = False Then<BR> ReDim Preserve a(UBound(a) + 1)<BR> a(UBound(a)) = b(i) <BR> End If<BR>Next<BR> MsgBox judge<BR> MsgBox UBound(a)<BR> MsgBox a(UBound(a))<BR>End Sub</P>
<P> </P>
页:
[1]