有10个字符串固定不变 
"1 2 3 4 5" 
"2 3 4 5 6" 
"3 4 5 6 7" 
"4 5 6 7 8" 
"5 6 7 8 9" 
"6 7 8 9 10" 
"7 8 9 10 11" 
"8 9 10 11 12" 
"9 10 11 12 13" 
"10 11 12 13 14" 另有一字符串s 可变化  "3 8 9 4 10 7"  
求字符串s 在上面10个字符串中有4个且仅有4个数字相同 并且显示出来 
如例子中的结果为"6 7 8 9 10"  "7 8 9 10 11" 并且要显示出那个不同的数字 如"6 7 8 9 10"则为6 "7 8 9 10 11"则为11 有好一点的方法吗? 
是不是要用到字符串数组? 
谢了刚才发的那个帖子里面 好像都有点问题 我这次多给几个字符串 要都通过才行 谢了
"13 6 4 5 10 10"  "3 8 8 4 10 7"

解决方案 »

  1.   

    Private Sub Command1_Click()
        Dim s As String
        Dim ss() As String
        Dim s1(9) As String
        Dim ss1() As String
        
        s1(0) = "1 2 3 4 5"
        s1(1) = "2 3 4 5 6"
        s1(2) = "3 4 5 6 7"
        s1(3) = "4 5 6 7 8"
        s1(4) = "5 6 7 8 9"
        s1(5) = "6 7 8 9 10"
        s1(6) = "7 8 9 10 11"
        s1(7) = "8 9 10 11 12"
        s1(8) = "9 10 11 12 13"
        s1(9) = "10 11 12 13 14"
        s = "13 6 4 5 10 10"
        ss = Split(s)
        For i = 0 To UBound(ss)
            For j = i + 1 To UBound(ss)
                If ss(i) = ss(j) Then
                   ss(j) = "t"
                End If
            Next
        Next
                   
        For i = 0 To UBound(s1)
            ss1 = Split(s1(i))
            For j = 0 To UBound(ss)
                For k = 0 To UBound(ss1)
                    If ss(j) = ss1(k) Then
                       n = n + 1
                    End If
                Next
            Next
            If n = 4 Then
               Debug.Print s1(i); "不同数:";
               For m = 0 To UBound(ss1)
                   If InStr(s, ss1(m)) = 0 Then Debug.Print ss1(m)
               Next
            End If
            n = 0
        Next
        
        
    End Sub