单选题 下面的程序运行时,若输入“Visual Basic Programming”,则在窗体上输出的是
Private Sub Command1_Click()
Dim count(25) As Integer, ch As String
ch=Uease(InputBox("请输入字母字符串"))
For k=1 To Len(eh)
n=Asc(Mid(ch, k, 1))-Asc("A")
If n>0 Then
Count(n)=Count(n)+1
End If
Next k
m=Count(0)
For k=1 To 25
If m<count(k) Then
m=count(k)
End If
Next k
Print m
End Sub

【正确答案】 D
【答案解析】[解析] 按题干的说明,程序首先通过ch=Ucase(InputBox("请输入字母字符串"))语句接收“Visual Basic Programming”并将其转换为大写字母存入到变量ch中。接下来通过一个循环从源字符串中每一次取一个字符并计算出ASCII值,并用此值与字母A的ASCII值相减,把差值存入到变量n中。if n>0 then说明取出的字符的ASCII码比A字母的ASCII码值大时将做操作Count(n)=Count(n)+1,Count(n)=Count(n)+1的作用是将Count(n)的值增1,即记录其个数。相同字符的ASCII码值与A字母ASCII码值的差值n相同,记录到相同下标的数组元素中,因此Count(n)其实记录下了输入的字符串中每个字母出现的次数。
接下来,将count(0)的值赋给变量m,并通过循环For k=1 To 25将数组Count(n)的每一个元素的值与m相比,如果数组元素的值大于m,则将其值赋给m,这样等到循环结束,m中的值就是数组中各元素值中最大者。结合上面的分析,本程序的作用实际上就是统计出一个字符串中各字母出现的次数,并找到次数的最大值。从输入的字母串来说,字母A和I出现的次数最多,为3次,所以最终结果输出为3。