vb题 答案好再追加分数

来源:百度知道 编辑:UC知道 时间:2024/06/01 02:13:34
用键盘输入下列正整数;1211,2,2323,2333,4443,1110,0(0 作为输入结束标记),并存入到数组中,然后将其中恰有三个相同数字(另一个数字与她们不同)的四位数显示在窗体上.

Dim a(100)
dim k as integer
Private Sub Command1_Click()
Dim b(10) As Integer
For i = 0 To 99
a(i) = Val(InputBox("请输入", , 0))
If a(i) = 0 Then k = i: Exit For
Next i

For i = 0 To k
If Len(CStr(a(i))) = 4 Then
For j = 1 To Len(CStr(a(i)))
b(CInt(Mid(CStr(a(i)), j, 1))) = b(CInt(Mid(CStr(a(i)), j, 1))) + 1
Next j
For j = 0 To 9
If b(j) = 3 Then Print a(i)
b(j) = 0
Next j

End If
Next i
End Sub

答案倒是有,用spilt分开各数,再一个个分析(再不济的话,0--9都检验一次就好了)
vb里有统计字符出现次数的函数吗?等待更好的答案...

Private Sub Form_Click()
Dim sts As String
Dim a As Variant

sts = InputBox("请输入用逗号分隔的整数,输入0结束", "整数输入")
a = Split(sts, ",")
For i = 0 To UBound(a) - 1
If Len(a(i)) = 4 Then
atmp = Replace(a(i), Left(a(i), 1), "")
If Len(atmp) = 1 Then
Print a(i);
Else
atmp = Replace(a(i), Mid(a(i), 2, 1), "