学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.15
所属科目:高中信息技术
用 VB 编写的英文单词查找程序如图所示,在文本框Text1中输入文章,在Text2中输入要查找的单词,单击“统计”按钮 Command1,在列表框List1显示该单词出现的位置及次数。算法如下:
(1)将文本框Text1 中的文章保存到字符串变量s 中,Text2 中的单词保存到字符串变量 s2 中。
(2)从左往右扫描字符串s, 用字符串word存储文章中依次出现的单词,用整型变量b依次记录文章中每个单词的起始位置,用整型数组pos记录匹配到的单词的起始位置。
按如下方法扫描:
从左往右扫描,当扫描到第i个字符时,如果是字母,继续扫描,否则,跳转到②,直至扫描结束;
②将b到i-1 组成一个单词word,与 s2 比较,如果相等,把该单词的起始位置 b记录到 pos 数组中,并把 b 的值更新成下一个字符的位置,再跳转到①。
(3)将 pos 数组中的位置及出现的总次数依次显示在列表框 List1 中。

(1)实现上述功能的VB程序如下,请在划线处填入合适的代码。
Private Sub Command1_Click()

Dim pos(1 To 1000) As Integer '存储匹配到的单词位置

Dim word As String '存储每次扫描的单词

Dim c As String, s As String, s2 As String

Dim i As Integer, j As Integer, k As Integer

b As Integer, slen As Integer

s = Text1.Text

slen = Len(s)

s2 = Text2.Text

j = 0 '存储每个单词的长度

k = 1 '存储匹配到的第几个单词的下标

b = 1 '存储每个单词的起始位置

i=1

Do While i <= slen

c = Mid(s, i, 1)

If c >= "a" And c <= "z" Or c >= "A" And c <= "Z" Then

j = j + 1

Else

If j <> 0 Then

word =___

If word = s2 Then

Pos (k) = b

k = k + 1

End If

j = 0

End If

b = i + 1

End If

i = i + 1

Loop

List1.AddItem "单词" + s2 + "出现的位置为"

For i = 1 To k - 1

List1.AddItem Str(pos(i))

Next

List1.AddItem "共出现" +___+ "次"

End Sub
(2)根据本题算法,如图所示,若在Text2中输入“Your”单词,查找结果______(选填:会/不会)产生变化。
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交