题库 高中信息

题干

小王用 VB 编写一个自动统计离散数据的“极大值”(如图 a 所示)个数的程序。 功能如下:在列表框 List1 中随机产生 n 个介于[1,99]的正整数,单击“统计极大值”命令按钮 Command1,程序自动统计出极大值,并将其输出到列表框 List2,且将其中的最大值输出在标签 Label1 中。程序界面如图 b 所示,实现上述功能的 VB 程序如下。(假设:数据的左右两个端点不 计入极大值,且相等的两个值也不计入极大值)。请回答以下问题:

图 a 图 b
(1)当 n=6,原始数据为“8 39 24 5 71 25”,此时极大值有:  。
(2)请在划线处填入合适的代码。 Const n = 10
Dim a(1 To n) As Integer    '存储原始数据 Dim Max(1 To n) As Integer  '存储极大值数据
Private Sub Form_Load() '原始数据初始化
Randomize
For i = 1 To n
a(i) = ①  '产生[1,99]间随机整数
List1.AddItem Str(a(i))
Next i End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer
Dim count As Integer, Maxa As Integer
count = 0
List2.Clear
For i = 2 To n - 1 '统计极大值,左右两边端点值除外
If   ②     Then
count = count + 1
    ③   = a(i)
End If
Next i
Maxa = 0
For i = 1 To count
List2.AddItem Str(Max(i))
If Maxa < Max(i) Then
Maxa = Max(i)
End If
Next i
Label1.Caption = "极大值中的最大值为:" + Str(Maxa) End Sub
上一题 下一题 0.99难度 填空题 更新时间:2019-04-16 09:20:51

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

同类题4

(加试题)某密码的破译步骤如下:
(1)找出文章(以“.”结束)中所有用英文表示的数字(均为小写,数字范围1≤n≤20),单词与数字对应如下:

(2)将这些数字平方后除以100取余,得到两位数如00,04,21,96。
(3)把这些两位数按升序排成一行,组成一个最小的新数,如果新数开头为0,就去除。
(4)步骤(3)找出的最小数即为密码。
小明按照上述方法,设计了一个解密的VB程序,功能如下:单击“解密”按钮Commandl,程序依次将文本框Textl中以空格分隔的每个英文单词取出,若单词属于数字单词,则按解密步骤进行处理,最后在文本框Text2中输出解密结果。
程序运行效果如图所示,请回答下列问题:

(1)若文章内容为“tom bought two apples and five oranges, which cost ten dollars altogether.”,则破译后的密码应为_____________。
(2)请在划线处填入合适的代码。
Dim a(1 To 20) As String
Private Sub Form_Load()
a(1) = "one": a(2) = "two" 
'……将所有数字单词按顺序存入数组a中,代码略
End Sub
Private Sub Command1_Click()
Dim s As String, tmp As String
Dim c as Integer,i As Integer, j As Integer, k As Integer, t As String, ch As As String,code As Long
Dim b(1 To 100) As String   'b数组存放数字单词处理后得到的两位数
s = Text1.Text
c = 0: i = 1: flag = True:t = ""
Do While i <= Len(s)
ch = Mid(s, i, 1)
If ch >= "a" And ch <= "z" Then
t = t + ch
flag = False
ElseIf flag = False Then
For j = 1 To 20
If t = a(j) Then
c = c + 1
b(c) =_________________
End If
Next j
t = ""
flag = True
End If
i = i + 1
Loop
’将b数组中的两位数按数值大小进行升序排序,代码略
For i = 1 To c
t = Val(b(i))
_______________________
Next i
Text2.Text = Str(code)
End Sub
Function decode(num As Integer) As String
Dim mo As Integer
mo = num * num Mod 100
If mo = 0 Then
decode = "00"
ElseIf ___________________  Then
decode = "0" + Trim(Str(mo))
Else
decode = Trim(Str(mo))  'Trim为去除字符串两端空格的函数
End If
End Function