学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.40
所属科目:高中信息技术
小明为班会活动的“抽奖环节”设计了一张获奖表。该“抽奖环节”功能如下:班级学生人数为 n 个,程序运行后,单击“发放号码牌”按钮 Command1, 随机生成 n 个不重复的[n+1,2*n]内的 整数,并在列表框 list1 中显示, 学生按学号次序依次领取号码牌,例如:随机生成的第一个整 数为 54,则学号为 1 号的学生领取的号码牌为 54。单击“抽奖”按钮 Command2,在列表框 list2 中显示获奖表, 获奖序列要求:第 1 名获奖的学生是号码牌数字中偶数最大的,第 2 名获奖的学 生是号码牌数字中奇数最小的,第 3 名获奖的学生是号码牌数字中偶数第二大的,第 4 名获奖的 学生是号码牌数字中奇数第二小的……取过的数字不能再取,以此类推,直到结束。其程序界面 如图所示。
实现上述功能的 VB 程序代码如下,请回答以下问题:
(1) 若仅对如下号码牌进行抽奖:1 号-57,2 号-76,3 号-91,4 号-83,5 号-66,6 号-82,则第3名获奖的学生学号是____________号。

(2) 请在划线处填写合适代码, 使程序正常运行。
Const n = 50
Dim a(1 To n) As Integer
Dim f(n + 1 To 2 * n) As Boolean
Private Sub Command1_Click()
Dim i As Integer, j As Integer
Randomize
For i = n + 1 To 2 * n

f(i) = False


Next i
For j = 1 To n                              

a(j) = Int(Rnd * n) + n + 1

If f(a(j)) = True Then

j = j - 1

Else

__________        


Next j
For i = 1 To n
List1.AddItem CStr(i) + "号-" + CStr(a(i)) 'cstr 把数值类型转换为字符串类型,并 去前导空格
Next i
End Sub
Private Sub Command2_Click()
Dim i As Integer, j As Integer, m1 As Integer, m2 As Integer
m1 = 0: m2 = n \ 2
For i = n + 1 To 2 * n

If__________         Then

m1 = m1 + 1: a(m1) = i

Else                                      

m2 = m2 + 1: a(m2) = i

End If


Next i
For j = 1 To n \ 2

List2.AddItem "第" + CStr(2 * j - 1) + "名" + Str(        _________)

List2.AddItem "第" + CStr(2 * j) + "名" + Str(a(n \ 2 + j))


Next j
End Sub
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

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
我要答疑
编写解析
解析:

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

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