Option Explicit
Private Sub Command1_Click()
Dim s As String, i As Integer, l As Integer
Dim ch(1 To 26) As Integer, flag As Boolean
s = Text1
count1 ch, s '该行去掉括号,或者前面加Call
For i = 1 To 26
If ch(i) <> 0 Then List1.AddItem "以" & Chr(i + 97 - 1) & _
"字母为首字母的单词有" & ch(i) & "个"
Next i
End Sub
Private Sub count1(ch() As Integer, s As String)
Dim i As Integer, flag As Boolean
Dim s1 As String * 1, j As Integer
flag = True 'flag表示即将开始一个新单词,一句开头肯定是一个新单词,
'所以应该设flag=True
For i = 1 To Len(s)
s1 = Mid(s, i, 1)
s1 = LCase(s1) '这一行不是有错,是判断多余
If s1 >= "a" And s1 <= "z" Then
If flag Then
j = Asc(s1) - Asc("a") + 1 '不要忘记加1
ch(j) = ch(j) + 1
flag = False
End If
Else
flag = True
End If
Next i
End Sub
'最后说句,如果把这段代码打到VB中,VB会帮你指出第一处错误