请高手帮忙改一下代码

来源:百度知道 编辑:UC知道 时间:2024/07/04 02:09:19
Private Sub Command1_Click()
p = Len(Text1.Text)
For i = 1 To p - 2
For j = i + 1 To p - 1
For k = j + 1 To p
List1.AddItem Mid(Text1.Text, i, 1) & Mid(Text1.Text, j, 1) & Mid(Text1.Text, k, 1)
Next k
Next j
Next i
End Sub
以上代码不能组合输出344,443,166,677,887,888,999等这类型数字,只能输出236,476,这样不重复的数,请问如何让其只输出887,788这样的数,和888,999这样的数,因为是新手,请把这2个语句,分开来写,要不本人笨,不好理解,在这里先谢谢了

循环里边,输出之前判断一下。

引入临时变量能简化代码。

a=asc((Mid(Text1.Text, i, 1));
b=asc((Mid(Text1.Text, i, 1));
c=asc((Mid(Text1.Text, i, 1));

'两个数重复的情况

if((a=b)or(b=c)or(c=a))
List1.AddItem Mid(Text1.Text, i, 1) & Mid(Text1.Text, j, 1) & Mid(Text1.Text, k, 1)

'三个数都重复的情况

if((a=b)and(b=c))
List1.AddItem Mid(Text1.Text, i, 1) & Mid(Text1.Text, j, 1) & Mid(Text1.Text, k, 1)

For i = 1 To p
For j = 1 To p
For k = 1 To p
这样!