题库 高中信息

题干

小王设计制作了一个VB程序用于获取英文单词,然后背诵这些英文单词。为了使背诵英文单词更有效率,小王决定要显示的英文单词要由相同的英文字幕组成。
程序执行过程如下:程序运行后,先从数据库中获取单词,然后单击“分析单词”按钮,查找出由相回字母组成的英多单词保留下来显示,例如:获取的英文单词有:tea,pea,eta,eat,help,three,there。通过分析得知tea,eta和eat是由相同字母组成的英文单词,three和there是由相同字母组成的英文单词,则这五个英文单词保留下来,显示在label1中。如图所示:

VB部分程序如下,请将程序补充完整:
Dim wordcharsort (1 To 3000)As String'存储每个英文单词字母排序后的内容
Dim words (1 To 3000) As string'存储由相同字母组成的英文单词
Dim wordscount As Integer
Dim Getwords (1 To 3000) As String
Private Sub Form_Load()
'从数据库中获取3000个英文单词存储到数组 Getwords中,代码略
End Sub
Private Sub Command1_ Click()

Dim key As Integer

For i=1 To 3000

Wordcharsort(i)=rank(Getwords(i))

Next i

For i=1 To 3000-1

k=i
For j=i+1 To 3000
If wordcharsort(j)<wordcharsort(k) Then k=j
Next j
If i<>k Then
t1= wordcharsort(i):wordcharsort(i)= wordcharsort(k):wordcharsort(k)=tl
___________
End if
Next i
For key=1 To 3000
wordscount= search( wordcharsort(key),key, wordscount)
Next key
For i=1 To wordscount
Label1. Caption= Labell. Caption+" "+words(i)
Next i
End sub
'查找相同字母组成的英文单词,存储在 words数组中
Function search(a As String, b As Integer, c As Integer)As Integer

For i=1 To 3000

flag=False

If a=wordcharsort(i) And______ Then
For j=1 To c
If words(j)=Getwords(b) Then flag=True
Next j
If flag=False Then
Words(c)=Getwords(b)
__________
End if
End If
Next i
search=c
End function
'对英文单词中的字母进行排序
Function rank(s As String)As String

Dim c(l To 45) As String

wordscount=1

For xk=1 To 45

c(xk)=" "

Next xk

For j=1 To Len(s)

c(j)= _______

Next j

For k=1 To Len (s)-1

For kk=Len(s) To k+1 Step-1

If Asc(c(kk))<Asc(c(kk-1))Then
tmp=c(kk):c(kk)=c(kk-1):c(kk-1)=tmp
End if
Next kk
Next k
For j=1 To Len(s)
rank -rank & c(i)
Next j
End function
上一题 下一题 0.99难度 None 更新时间:2020-03-30 09:39:32

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

同类题2

小王编写了一个统计多选题分数的VB程序。得分规则是:多选题共有6个候选项(A、B、C、D、E、F),全部答对得2分,部分答对得1分,未作答或有错误答案0分。设计一个能够评分的程序,要求如下:在文本框Text1中输入标准答案,在文本框Text2中输入学生答案(输入时必须按字母从小到大顺序输入)。点击评分按钮Command1后,将得分显示在标签Label4中。程序界面如题图所示:
(1)要使程序运行后,窗体Form1的标题栏中显示“评分”,正确的做法是______(单选,填字母)
A.将窗体的Text属性改为“评分”
B.在Form_Load()事件中输入代码
Form1.Caption="评分"
C.在Form1_Load()事件中输入代码
Form.Name="评分"
(2)实现上述功能的程序如下,请在划线处填入合适的代码:
Private Sub Command1_Click()
Dim cans As String ,ans As String ,ch As String ,c As Integer
Dim f(1 To 6) As Boolean
cans = Text1.Text
ans = ____________
c = 0
For i = 1 To 6
f(64+i)=False
Next i
For i = 1 To Len(cans)
ch = Mid(cans, i, 1)
f(Asc(ch) - 64) = True
Next i
For i = 1 To ___________     
ch = Mid(ans, i, 1)
If f(Asc(ch) - 64) = False Then
c = 0: Exit For
Else
c  = c + 1
End If
Next i
If c = 0 Then
Label4.Caption = "0分"
ElseIf c = Len(cans) Then    
Label4.Caption = "2分"
Else
Label4.Caption = "1分"
End If
End Sub
(3)若去除加框处代码,且将文本框Text2的内容改为“BCD”,标签Label4显示的内容是________。