题库 高中信息

题干

(加试题)由英文字母构成的字符串数据压缩方法描述如下:
1)原始数据中,字母相邻无重复,压缩数据用该字母表示
2)原始数据中,字母相邻重复,压缩数据用1个整数和该字母表示
原始数据
压缩数据
BBFFF
2B3F
ABBCCCCCD
A2B5CD
 
小明编写了一个解压缩VB程序,功能如下:程序运行时,在文本框Text1中输入压缩数据,点击按钮Command1,在文本框Text2中显示解压缩后的数据。程序运行如图所示

(1)如果压缩数据为”AB168D9A”,解压缩后数据的个数是___________ 。 
(2)实现上述功能的VB程序如下。请在划线处填入合适代码。
Function zm(c As String) As Boolean  
If c >= "0" And c <= "9" Then zm = False  Else  zm = True
End Function
Private Sub Command1_Click()
Dim s1 As String, s2 As String, fd As String, k As Integer
Dim count As Integer, i As Integer, j As Integer, length As Integer
s1 = Text1.Text: s2 = "": length = Len(s1)
i = 1
Do While i <= length
fd = Mid(s1, i, 1)
If zm(fd) Then
s2 = s2 + fd
i = i + 1
Else
j = i + 1
fd = Mid(s1, j, 1)
Do While Not zm(fd)
j = j + 1
fd = Mid(s1, j, 1)
Loop
count = ______     
fd = Mid(s1, j, 1)
For k = 1 To count
s2 = s2 + fd
Next k
_______  
End If
Loop
Text2.Text = s2
End Sub
上一题 下一题 0.99难度 填空题 更新时间:2019-05-08 10:47:54

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

同类题4

用VB设计一个模拟选手得分程序,在文本框Text1中输入裁判人数(人数大于2),然后点击Command1按钮,在List1中产生70到100的随机数为裁判的打分,去除一个最高分,去除一个最低分,取其他裁判打分的平均分作为最终得分显示在文本框Text2中,运行效果如图所示。

(1)若要在程序运行时,修改窗体显示的标题为“得分计算”,则下面语句可行的是__________。
(单选,填字母:A.Command1.Caption=“得分计算”/B.Form1.Name=“得分计算”/C.Form1.Text=“得分计算”/
A.Form1.Caption=“得分计算”)
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim n As Integer   '裁判人数
Dim max As Integer, min As Integer, sum As Integer
Dim AveScore As Single  '存储最终得分
n = Val(Text1.Text): sum = 0
If n <= 2 Then MsgBox ("输入数据要大于2,请重新输入!")
If n > 2 Then
List1.Clear
Randomize
score = Int(Rnd() * 31) + 70
List1.AddItem Str(score)
_______________________ ' ①
max = score
min = score
For i = 2 To n
score = Int(Rnd() * 31) + 70
List1.AddItem Str(score)
If score > max Then max = score
If score < min Then min = score
sum = sum + score
Next i
AveScore = ______________________ '②
Text2.Text = Str(AveScore)
End If
End Sub
(3)若要将最终得分保留一位小数(四舍五入),下列代码可行的是______________________。
A.AveScore=int(AveScore+0.5)
B.AveScore=int(AveScore*10+0.5)/10
C.AveScore=int(AveScore*100+0.5)/100

同类题5

展开字符串。如果在输入的字符串中,含有类似于“c-g”或者“3-7”的字符子串,就把它当作一种简写,字符串展开输出时有如下规则:
(1)如果“-”号右边的字符按照ASCI码的顺序大于左边字符,输出时,用连续递增的字母或数字串替代其中的“-”号,例如:“c-g”输出为“cdefg”,“3-7”输出为“34567”。
  
(2)如果“-”号右边的字符按照 ASCII码的顺序小于或等于左边字符,输出时,保留中间的“-”号,例如:“a-a”输出为“a-a”,“4-1”输出为“4-1”。
(3)如果“-”号右边的字符恰好是左边字符的后继,则删除中间的“-”号,例如“d-e”应输出为“de”,“3-4”应输出为“34”。
某同学按照上述算法,编写了VB程序,功能如下:在文本框 Text 1中输入简写字符串,单击“展开”按钮 Command 1,程序进行字符串展开处理并显示在文本框Text 2中。程序运行界面如图所示。
(1)如果输人的简写字符串为“abs-w-Y1234-5S-4z”,则展开后的字符串为___________________。
(2)实现上述功能的VB程序如下,请在画线处填入合适代码。
Private Sub Command1_Click()
Dim stl As String, st2 As String, i As Integer
st1=Text1. Text
n=Len(st1)
st2=""
For i=1 To n

If pos(stl, i)Then<> "-" Then

st2=st2-+pos(stl, i)

Else

If pos(stl, i-1)<pos(stl, i+1) Then
For j=Asc(pos(stl, i-1))+1 To Asc(pos(stl, i+1))-1
_______________
Next j
Else
st2=st2+"-"
End If

End If

Next i
Text2. Text=st2
End Sub
Function pos(s As String, x As Integer) As String   '返回字符串s中x位置的字符
__________________
End Function