看板 Visual_Basic 關於我們 聯絡資訊
※ 引述《stormbird (單眼皮)》之銘言: : 我要寫一個聯集減交集的運算式,但是每次都只出先現最大的值,不知是哪裡出錯,可 : 以幫我看一下那裡出問題,或是可以更精簡的!!謝謝 : Dim n1(15) As Integer : Dim n2(15) As Integer : Dim n4(15) As Integer : Dim k(15) As Integer : Dim q(15) As Integer : '聯集減交集 : For i = 0 To 15 : n1(i) = Val(Text1(i).Text) : n2(i) = Val(Text2(i).Text) : n4(i) = Val(Text4(i).Text) : '取聯集 : If n1(i) > n2(i) And n1(i) > n4(i) Then : k(i) = n1(i) : ElseIf n2(i) > n1(i) And n2(i) > n4(i) Then : k(i) = n2(i) : ElseIf n4(i) > n1(i) And n4(i) > n2(i) Then : k(i) = n4(i) : '取交集 : ElseIf n1(i) < n2(i) And n1(i) < n4(i) Then : q(i) = n1(i) : ElseIf n2(i) < n1(i) And n2(i) < n4(i) Then : q(i) = n2(i) : ElseIf n4(i) < n1(i) And n4(i) < n1(i) Then : q(i) = n4(i) : End If : Text3(i).Text = k(i) - q(i) : Next i 沒想錯的話,你在前三個if elseif條件式,就已經把所有可能篩選完了 (除了n1=n2 or n1=n4 or n2=n4之外) 所以你的程式絕對不會跑道後三個條件式中, 理所當然 k(i) 永遠就是這三個數最大的那一個 而q(i)根本沒機會被指定為某個數字,所以永遠都是0 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.216.5.204