输入一串字符,统计各字母出现的次数(大小写字母不区分)。
Private Sub Command1_Click()
Dim c As String, x%, a(1 To 26) As Integer
For i = 1 To Len(Text1.Text)
c = UCase(Mid(Text1.Text, i, 1))
If c >= "A" And c <= "Z" Then
j = Asc(c) - 64
a(j) = a(j) + 1
End If
Next i
For j = 1 To 26
Picture1.Print Chr(j + 64) & "=" & "a(j)";
Next j
End Sub
为什么运行后不输入任何东西和输入字母的效果都是A=a(j)B=a(j)...Z=a(j)
è¿æ ·æ¹äºä»¥åè¿æ¯ä¸å¯¹åï¼ï¼ï¼
追çåªä¸å¯¹å?å¦æä½ è¯´çä¸å¯¹æ¯ Picture1.Print é£ä¼°è®¡æ¯ä¸å¯¹ï¼ä½ å°
Picture1.Print Chr(j + 64) & "=" & a(j);
æ¹æ
MsgBox Chr(j + 64) & "=" & a(j);
å°±å¯ä»¥çå°ç»æäºï¼ä½ä¸ç¥éä½ ç Picture1.Print æ¯åå¤å¹²ä»ä¹çã
Picture1.Print å°±æ¯å¨picture1ä¸æå°ç»æããæ¹äºä¹è¿ä¸å¯¹ãããã
追ç以ä¸æ¯æä¿®æ¹ç代ç ï¼ç»æµè¯è¿è¡æ£å¸¸ï¼
Private Sub Command1_Click()
Dim c As String, x%, a(1 To 26) As Integer
For i = 1 To Len(Text1.Text)
c = UCase(Mid(Text1.Text, i, 1))
If c >= "A" And c <= "Z" Then
j = Asc(c) - 64
a(j) = a(j) + 1
End If
Next i
For j = 1 To 26
MsgBox Chr(j + 64) & "=" & a(j)
Next j
End Sub