题库 高中信息

题干

   (加试题)创建VB程序,统计英语短文中字母出现的次数,并输出出现次数最多的字母和未出现的字母。要求字母不区分大小写,均表示为大写字母。程序运程界面如图所示。


算法如下:

(1)获取输入的英语短文,存入变量s

(2)统计字母出现次数

    依次取出s中的每个字符

    如果是大写字母,计算其在字母表中的位置n,并计数

    如果是小写字母,计算其在字母表中的位置n,并计数

(用数组a存放26个字母出现的次数,a(1)存放“A”出现的次数,a(2)存储“B”出现的次数,……,a(26)存储“Z”出现的次数。)

  (3)找出最大出现次数   

  (4)找出出现次数最多和未出现过的字母并输出   

VB程序如下,在其中①②③划线处填定相应代码,完善程序。
Private Sub Command1_Click()
Dim i As Integer, n As Integer, max As Integer
Dim a(1 To 26) As Integer '数组a存放26个字母出现的次数。
Dim s As String, c As String '变量s存放输入的短文
Dim s1 As String, s2 As String   '变量s1、s2分别存放出现次数最高和未出现的字母组成的字符串
s = Text1.Text
'统计字母出现次数
For i = 1 To Len(s)  
c = Mid(s, i, 1)
If c >= "A" And c <= "Z" Then
n = Asc(c) - Asc("A") + 1
a(n) =1____________
ElseIf c >= "a" And c <= "z" Then
n = Asc(c) - 32 - Asc("A") + 1
a(n) = a(n) + 1
End If
Next i
'找出最大出现次数
max = a(1)   
For i = 1 To 26
If2____________ Then
max = a(i)
End If
Next i
'找出出现次数最多和未出现过的字母
For i = 1 To 26
If 3__________ Then
s1 = s1 + " " + Chr(Asc("A") + i - 1)
ElseIf a(i) = 0 Then
s2 = s2 + " " + Chr(Asc("A") + i - 1)
End If
Next i
Label2.Caption = "出现次数最多的字母是:" & s1 & "  出现次数为:" & Str(max)
Label3.Caption = "未出现的字母是:" & s2
End Sub
上一题 下一题 0.99难度 填空题 更新时间:2019-05-05 07:08:14

答案(点此获取答案解析)

同类题1

(加试题)某字符串(字节数为 2 的倍数)编码规则如下:
(1)将该字符串内码分成 2 个字节一组,每个字节前补上一个 0,构成 9 位二进制,顺次链接后得到 18 位二进制;
(2)将得到的 18 位二进制数字分成 3 组,每组 6 位;
(3)在每组数字前补上两个 0,得到 3 个字节的二进制数;
(4)将(3)中得到的三个字节的二进制数分别转换为十进制数;
(5)将每个十进制数转换为 1 个加密字符,对应的“ 密码表 ”按数值由小到大依次为 012345678ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/” 小明按照上述方法,设计了一个字符串(仅包含 ASCII 字符)加密的 VB 程序,功能如下:单击“加密”按钮 Command1,程序依次将文本框 Text1 中每 2 个字符的 ASCII 码值按编码规则转换为三个加密字符,连接这些加密字符,最后在文本框 Text2 中输出加密结果。程序效果如下图所示。

实现上述功能的 VB 程序如下:
(1)在 Text1 中输入明文“AB”,用上述加密算法得到的密文为_____。
(2)实现上述功能的 VB 程序如下。请在划线处填入合适的代码。
Function cc(n As Integer) As String
Dim s As String
s = "012345678ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/"
_____
End Function
Private Sub Command1_Click()
Dim n As Integer, s As String, i As Integer, ss As String
Dim a1 As Integer, a2 As Integer
Dim b1 As Integer, b2 As Integer, b3 As Integer
s = Text1.Text
n = Len(s)
ss = ""
For i = 1 To n    Step 2
a1 = Asc(Mid(s, i, 1))
_____
b1 = a1 \ 8
b2 = _____
b3 = a2 Mod 64
ss = ss + cc(b1) + cc(b2) + cc(b3) Next i
Text2.Text = ss
End Sub