题库 高中信息

题干

编写VB程序,实现如下功能:单击“输出”按钮Command1,在列表框List1中输出[100,999]之间能被9整除且至少有一位数字为9的所有整数。界面如图1所示。

(1)在设计应用程序界面时,应使用图2所示“控件工具箱”中的________(填写相应编号)添加“List1”框。
(2)为实现上述功能,请在划线处填入合适的代码或选项。
Dim s As Integer
Dim a As Integer,b As Integer,c AsInteger
s=________’(填程序代码)
List1.Clear
Do While s<=999
a=s\100
b=________’填字母:从下面A、B、C三个选项中选取一项
c=s Mod 10
If(a=9 Or b=9 Or c=9) And ________ Then ’(填程序代码)
List1.AddItem Str(s)
End If
s=s+1
Loop
划线②的选项:(  )
A.s\10 Mod 10  B.s mod 100\10
C.s-a*100-c
上一题 下一题 0.99难度 填空题 更新时间:2017-03-02 11:20:10

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

同类题1

IPv6 是英文“Internet Protocol Version 6”(互联网协议第 6 版)的缩写。IPv6 地址总共有 128 位,为了便于人工阅读和输入,IPv6 地址使用 16 进制数表示,划分成 8 个块,每块 4 位,块与块之间用“:”隔开,如:ABCD:EF01:0000:0000:ABCD:EF01:0000:6789
同时,对于多个地址块为 0 的情况时,可以使用”::”号,进行化简。
化简原则:
①全 0 块“0000”,可以化简为“0”
②连续多个全 0 块,可以化简为“::”
③一个 IPv6 地址中只能出现一个“::”,出现多个全 0 块时,“::”要化简最长的一段,没有最长的就将最左侧的一段化简为“::”
④“::”可以出现在地址开头或结尾具体示例如下:
程序界面如图所示:

实现上述功能的 VB 程序如下,请回答下列问题:
(1)请在划线处填入合适的代码。
Private Sub Text1_Change()
Dim a(1 To 8) As String, ipstr As String, ips As String
Dim lenth As Integer, max_lenth As Integer, start As Integer ipstr = Text1.Text
For i = 1 To 8
a(i) =_________'将 IPv6 分段存入数组 a Next i
'对数组进行处理,如果字母或非零数字开头,则不用处理;如果全是数字0,则压缩成    0,如果前导为 0,则去掉,处理完毕存回数组。
'///------ 处理过程略----- /////
'如果只有一串0,则将该串“0”用“::”代替,如果不止一串0,则将最长的一串“0”简化为“::”,如果有连续  0,则将左边的一串零简化,右侧保留。
max_lenth = 0
For i = 1 To 7
If_________Then lenth = lenth + 1
Else
If   lenth > max_lenth    Then
max_lenth = lenth: start = i - lenth: lenth = 0 End If
End If Next i
If lenth > max_lenth Then   max_lenth = lenth: start = i - lenth  '根据连续 0 串的位置确定输出简化后的结果
ips = ""
If    start = 1 And max_lenth    =   7 Then '开头是 0 且全 0 ips = "::"
ElseIf   start = 1 Then    '开头是 0 但不全为 0 ips = "::"
For   i = start + max_lenth + 1   To   7 ips = ips + a(i) + ":"
Next i
ips = ips + a(i)
ElseIf   start > 1 And    start + max_lenth = 8   Then   '开头不是 0 但 0 到最后 For i = 1 To start - 1
ips = ips + a(i) + ":"
Next i
ips = ips + ":"
ElseIf start > 1 Then '开头不是 0 且 0 不到最后 For i = 1 To start - 1
ips = ips + a(i) + ":"
Next i
ips = ips + ":"
For i =_________To 7  ips = ips + a(i) + ":"
Next i
ips = ips + a(i)
Else '无连续 0 出现
For i = 1 To 7
ips = ips + a(i) + ":"
Next i
ips = ips + a(i) End If
Text2.Text = ips End Sub
(2)IPv6  地址:3BCD:0000:0000:ABCD:0000:0000:0000:6789,则化简后为_______。

同类题4

【加试题】小王模拟超市收银机扫描商品条形码后计算总价的过程制作了一个VB程序。功能如下:在文本框Text1中输入商品条形码,按回车键后会将已经输入的条形码显示在列表框List1中,同时将商品明细显示在列表框List2中。点击按钮“计算商品总价”后,会将所有商品的总价显示在文本框Text2中。程序界面如图所示:

实现上述功能的部分VB程序如下,请在三个划线处填入合适代码。
'定义全局数组变量
Dim a(1 To 10) As Long
Dim b(1 To 10) As String
'自动加载条形码信息以及对应的商品信息
Private Sub Form_Load()
Dim i As Integer
a(1) = 503741
For i =" 2" To 10
a(i) =" a(i" - 1) + 1
Next i
b(1) = "可乐 5.00"
b(2) = "薯片 7.50"
b(3) = "牛奶 5.60"
b(4) = "橙汁 7.50"
b(5) = "面包 4.00"
b(6) = "蜂蜜 28.00"
b(7) = "蛋糕 12.00"
b(8) = "绿箭 3.50"
b(9) = "饼干 6.00"
b(10) = "雪碧 5.00"
End Sub
'输入条形码,查找条形码,并显示条形码及其对应的商品信息
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim txm As Long:
Dim i As Integer:
Dim j As Integer
txm = Val(Text1.Text)
If KeyAscii =" 13" Then
If txm >=" 503741" And txm <=" 503750" Then
List1.AddItem txm
Text1.Text = ""
i =" 1:" j = 10
Do While i <= j
    ①
If txm =" a(m)" Then
List2.AddItem b(m)
Exit Do
ElseIf txm > a(m) Then
i =" m" + 1
Else
   ②   
End If
Loop
Else
MsgBox "条形码输入错误,无此商品"
Text1.Text = ""
End If
End If
End Sub
'计算所购商品的总额
Private Sub Command1_Click()
Dim i As Integer, mx As String, jg As String, sum As Single
For i =" 0" To 9
If List2.List(i) <> "" Then
mx = List2.List(i)
sum =" sum" + Mid(mx, 4)
End If
Next i
Text2.Text = ③    
End Sub