相关试卷
-
1、在“抗击疫情,‘宅’出精彩”征文活动中,每位选手可以提交一篇作品。活动以互评的形式展开:每位选手对m篇作品进行打分(本人作品回避),方法如下:
① 用1-n数字代表n个作品,打乱顺序后分配给n个选手。分配方案保存在数组a中,如图a存储了两组分配方案(n=5)。在第一个分配方案中把4号作品分配给1号参赛者,1号作品分配给2号参赛者(选手编号与序号错开)……。
②分配方案的形成方法: 将1~n之间的随机数字依次放到第1个位置、第2个位置……,随机数不能与位置号相同,并且要防止分配冲突,如前三个分配序号是“2 3 4”,那么在第4位上只能放“5”(如放“1”会导致第5个位置没有符合要求的数字,因此位置n-1需要判断数“n”是否已经分配,如果未分配,位置n-1放置数“n”),最终方案“2 3 4 5 1”。
③评m个作品需要m个分配方案。方案间要避免同一个人拿到重复的作品。如第16题图a第3行上的数据“5 1 2 3 4”不符合要求,因为会使第2号选手重复拿到1号作品。
小明依据上述方法设计了VB程序,功能如下:在文本框Text1和Text2分别输入参赛人数和每人打分的作品数量,单击“分配”按钮Command1,在列表框List1中输出结果。程序运行效果如图b所示。
请回答下列问题:
(1)、n=5,m=3,a(1)~a(10)中的数据如图a所示,a(11)~a(15)的数据可能是(单选,填字母:A . 5 4 3 1 2/B . 5 4 1 3 2/C . 3 4 5 1 2)(2)、请在划线处填入合适的代码。Dim n As Integer '总人数/总作品数
Dim m As Integer '每人分配篇数
Dim a(1 To 500) As Integer '数组a大小满足处理要求
Dim c(1 To 100) As Integer '数组c大小满足处理要求
Private Sub Command1_Click()
Dim i As Integer, j As Integer, k As Integer
n = Val(Text1.Text): m = Val(Text2.Text)
Randomize
i = 1
Do While i <= m
For j = 1 To n
c(j) = 0 '本轮分配方案中还没有数字j, c(j)=0,否则c(j)=1
Next j
For j = 1 To n
If j = n - 1 And c(n) = 0 Then
①
Else
k = r(n, j)
End If
a((i - 1) * n + j) = k '分配数字k到当前方案的第j个位置上
c(k) = 1
Next j
If ② Then i = i + 1
Loop
s = ""
For i = 1 To n
s = "参赛者" & i & ":"
For j = 1 To m
s = s + Str(a((j - 1) * n + i))+ ","
Next j
List1.AddItem s
s = ""
Next i
End Sub
Function r(x As Integer, y As Integer) As Integer
'生成一个取值在[1,x]之间,可以放在y位置上的随机数,满足条件r<>y andc(r)=0
End Function
Function check(c As Integer) As Boolean
'本轮方案和前面几次的分配方案比较,如果有人分到了重复作品,返回FALSE
Dim p As Integer, f As Boolean
f = True
p = 1
For i = 1 To c * n
If ③ Then
f = False: Exit For
End If
p = p mod n +1
Next i
check = f
End Function
① ② ③
-
2、小董编写了一个有关“筛选操作”的VB程序,实现如下功能:在文本框Text1中显示一组随机生成个位数为“9”的两位数(原始数据),在文本框Text2中输入筛选个数,单击“操作”按钮Command1后,在文本框Text3中按降序显示所筛选个数的不重复最大数据(以逗号分隔 并以数据结尾),若在文本框Text2中输入的数大于原始数据中不相同数的个数,则在文本框Text3中显示“筛选的个数太大,请重新输入!”。程序运行界面如图所示。
(1)、如图所示,该VB程序的窗体中共有类对象(填数字)。(2)、实现上述功能的VB程序如下,请在划线处填入合适的代码。Const n = 10
Dim d(n) As Integer, c As Integer
Private Sub Form_Load()
Dim i As Integer, j As Integer, f As Boolean, s As String
Randomize
c = n
For i = 1 To n
f = False
d(i) = ' 随机生成个位数为“9”的两位数
For j = 1 To i - 1
If Then f = True
Next j
If f Then c = c - 1
Next i
'原始数据在文本框Text1中显示。代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, k As Integer, m As Integer
Dim cnt As Integer,t As String, s As String
d(0) = 100
cnt = Val(Text2.Text)
If cnt > c Then
Text3.Text = "输入筛选的个数太大,请重新输入!"
Exit Sub 'Exit Sub表示退出过程
End If
For i = 1 To cnt
k = i
For j = i + 1 To n
If d(j) < d(i - 1) And(
)Then k = jNext j
If k <> i Then
t = d(i): d(i) = d(k): d(k) = t
End If
Next i
For i = 1 To cnt
s = s + Str(d(i)) + ","
Next i
Text3.Text =
End Sub
(3)、程序中加框处代码有错,请改正。 -
3、小章想将a数组中n个元素排列成合唱队列形态,具体方法如下:
①如果n是奇数,选出所有数据中最大元素,将其放在a数组正中间位置。
②从剩下待处理数据中选出最大的两个元素,同时将较大元素放在已处理数据段的右侧,较小元素放在已处理数据段的左侧。
③反复执行操作②,直到所有数据处理完毕。按上述要求,小章编写一个VB程序,功能如下:
在文本框Text1中输入n,单击“生成”按钮Command1,并在文本框List1中显示排序前数据;单击“排序”按钮Command2,在列表框List2中输出处理后的结果。程序运行界面如下图所示。
(1)、下列哪个选项,可以将窗体Form1标题改为:“生成合唱队列”(单选,填字 母:A . Form.Caption="生成合唱队列"/ B . Label1.Caption ="生成合唱队列"/ C . Form1.Caption="生成合唱队列")(2)、实现上述功能的VB程序如下,请在划线处填入合适代码。Dim a(1 To 100) As Integer
Dim n As Integer
Private Sub Command1_Click()
'在文本框Text1中输入n(n<=100)
'排序前数据存储在数组a中,并在文本框List1中显示
'代码略
End Sub
Private Sub Command2_Click()
Dim i As Integer, j As Integer, t As Integer
Dim pMax1 As Integer, pMax2 As Integer pMax1 = n \ 2 + 1: pMax2 = n \ 2
If Then
For i = 1 To n
If a(i) > a(pMax1) Then t = a(pMax1): a(pMax1) = a(i): a(i) = t
Next i
pMax1 = pMax1 + 1
End If
For i = 1 To n \ 2
If Then t = a(pMax1): a(pMax1) = a(pMax2): a(pMax2) = t j = pMax1 Mod n + 1
Do While j <> pMax2
If a(j) > a(pMax1) Then
t = a(pMax1): a(pMax1) = a(j): a(j) = t
t = a(pMax2): a(pMax2) = a(j): a(j) = t
t = a(pMax2): a(pMax2) = a(j): a(j) = t
End If
Loop
pMax1 = pMax1 + 1
pMax2 = pMax2 - 1
Next i
For i = 1 To n
List2.AddItem Str(a(i))
Next i
End Sub
(3)、程序加框处代码有错,请改正。 -
4、小李编写VB程序,功能如下:单击“产生数组”按钮Command1,则随机生成10个取值范围是1~10的正整数,分别存储到数组a中,对数组a的元素进行升序排列,并在标签Label1中显示;再单击“重复数”按钮Command2,则在排序后的数组a中查找连续个数最多的一组重复数值,若有两组连续重复数个数一样多,则取数值小的一组,将重复数的数组元素下标显示在标签Label2中。运行界面如图所示。
(1)、已知窗体名称为Form1,要使程序加载时,窗体标题自动显示为“统计重复数”,则可在 (单选,填字母)事件过程中添加代码:Form1.Caption = “统计重复数”。A、Form_Click() B、Form_Load() C、Form1_Click() D、Form1_Load()(2)、实现上述功能的程序如下,请在划线处填写合适代码,使程序正常运行。Dim a(1 To 10) As Integer
Dim n As Integer
Private Sub Command1_Click()
Dim i As Integer , j As Integer, k As Integer, temp As Integer
Dim s As String
Randomize
n = 10
For i = 1 To n
a(i) = Int(Rnd * 10) + 1
Next i
For i = 1 To n - 1
k = i
For j = i + 1 To n
If a(j) < a(k) Then
Next j
If k <> i Then
temp = a(i): a(i) = a(k): a(k) = temp
End If
Next i
s = ""
For i = 1 To n
s = s + Str(a(i))
If i < n Then s = s + ","
Next i
Label1.Caption = s
End Sub
Private Sub Command2_Click()
Dim i As Integer, j As Integer, k As Integer
Dim length As Integer, origin As Integer
Dim s As String
k = 1:origin=1:length = 1
For i = 2 To n
If a(i) = a(i - 1) Then
k = k + 1
If k > length Then
length = k
origin =
End If
Else
k = 1
End If
Next i
s = ""
For j = origin To

s = s + Str(j)
Next j
Label2.Caption = s
End Sub
(3)、程序加框处代码有错,请改正。 -
5、小王设计了一个利用矩阵“翻转法”实现矩阵逆序输出的程序,其功能为:运行程序时,在文本框 Text1 中输入矩阵大小n,点击“产生矩阵”按钮 Command1,在列表框 List1 中显示一个 n×n 的矩阵,该矩阵数据为随机两位正奇数。点击“翻转矩阵”按钮 Command2,该矩阵翻转(水平翻转和垂直翻转均要实现)后显示在列表框 List2 中,再点一次“翻转矩阵”按钮 Command2,列表框 List2 中显示的矩阵被还原为初始状态。程序运行界面如图所示。
实现上述功能的VB程序如下,请回答下列问题:
(1)、在上图的程序运行界面基础上,再连续两次单击Command2按钮,则列表框List2中第一行显示的内容是。(2)、实现此程序的代码如下,请完成下划线程序填空。Dim n As Integer
Dim L As String
Dim i as Integer
Dim j as Integer
Dim a(1 To 100) As Integer
Dim b(1 To 100) As Integer
Private Sub Command1_Click()
n = Val(Text1.Text)
Randomize
For i = 1 To n * n
a(i) = + 1
Next i
For i = 1 To n
L = ""
For j = 1 To n
L = L + " " + Str(a((i - 1) * n + j))
Next j
List1.AddItem L
Next i
End Sub
Private Sub Command2_Click()
List2.Clear
For i = 1 To n
L = ""
For j = 1 To n
b((i - 1) * n + j) =
L = L + " " + Str(b((i - 1) * n + j))
Next j
List2.AddItem L
Next i
For i = 1 To n * n
a(i) =
Next i
End Sub
-
6、字符串s1中保存了一个单词,字符串s2中保存了一句以空格结尾的句子,字符串s1和s2均由小写字母组成且s2中各个单词之间仅用空格隔开,下列程序能够统计单词s1在句子s2中出现的次数:
i=1: j=1:cnt=0
Do While j<= Len(s2)
If Mid(s1,i,1)<> Mid(s2,j,1)Then
Else
Do While i<=lens and j<=lens2
If Mid(s1, i, 1) =Mid(s2, j, 1)Then
Else
End If
Loop
If i=len(s1)+1 And Mid(s2, j, 1)="" then
cnt= cnt+1
End If
i=1
End If
Loop
方框中的代码分别是:①i=1:j=j+1 ②i=i+1:j=j+1 ③j=j+1
代码从上到下正确的顺序是( )
A、①②③ B、③②① C、③①② D、②①③ -
7、有如下VB程序段:
For i=1 to 3
For j=1 to 5-i
If a(j)>a(j+1) Then
t=a(j) : a(j)=a(j+1) : a(j+1)=t
End If
Next j
Text1.Text = Str(a(i))+Text1.Text
Next i
数组元素a(1)到a(5)的值依次为“2,9,7,8,5”。若该程序段执行后,文本框Text1显示的内容是( )
A、2 5 7 B、9 8 7 C、2 7 7 D、7 7 2 -
8、有如下VB程序段:
For i = 1 To 6
a(i) = Int(Rnd() * 10) + 1
If a(i) Mod 2 = i Mod 2 Then
a(i) = a(i) + 1
Else
a(i) = a(i) Mod 2
End If
Next i
执行该程序段后,在下列选项中,a(1)~a(6)各元素可能的值是( )
A、0,1,1,0,0,1 B、0,5,6,6,10,9 C、3,6,7,8,11 D、2,1,8,3,12,5 -
9、有如下VB程序段:
For i=2 to 5
For j=i to 5
If j mod i=0 then a(j)=a(j)+1
Next j
Next i
For i=1 to 5
If a (i)<>1 then s=str(i)+s
Next i
若数组a 的初始值都为0,则运行该程序段后,s的值为( )
A、2 3 5 B、1 4 C、5 3 2 D、4 1 -
10、有如下VB程序段:
Dim d(1 to 5)as integer, i as integer
Dim flag as Boolean, j as integer
‘给数组元素d(1)至d(5)赋初值为1,代码略
Randomize
For i=1 to 5
J = 1: flag = True
d(i) = int(Rnd*9)
Do while j< =i-1 and flag = True
d(i) = int(Rnd*5+1)
If d(i) = d(j) then i=i-1: flag = False
j = j+1
Loop
Next i
运行程序后,数组中的数据值可能是( )
A、1 3 4 5 6 B、3 5 4 1 1 C、8 3 1 2 5 D、1 2 6 2 1 -
11、有如下 VB 程序段:
Dim n As Integer
Dim sum As Integer
Dim i As Integer
Function fx(i As Integer) as Integer
If i = 1 Then
fx = 5
Else
fx = 5 * 2 ^ (i - 1) + fx(i - 1)
End if
End Function
Private Sub Command1_Click()
n = Val(Text1.Text): sum = 0
For i = 1 To n
sum = sum + fx(i)
Next i
Label1.Caption = Str(sum)
End Sub
若在 Text1 中输入4,单击 Command1,则 Label1 中显示的内容为( )
A、55 B、75 C、80 D、130 -
12、有如下 VB 程序段:
a(1) = 1: a(2) = 1:b(1) = 1: b(2) = 2
For i = 3 To 5
a(i) = a(i - 1) + a(i - 2)
b(i) = b(i - 1) + a(i)
Next i
执行该程序段后,数组元素b(5)的值为 ( )
A、5 B、8 C、12 D、15 -
13、有如下VB程序段:
For i = 1 To Len(Text1.Text)
c = Mid(Text1.Text, i, 1)
If c >= "0" And c <= "9" Then
x = Val(c)
a((x + 1) Mod 10) = a((x + 1) Mod 10) + 1
End If
Next i
s = ""
For i = 0 To 9
s = s & a(i)
Next i
Text2.Text = s
数组元素a(0)到a(9)的值均为0,执行该程序段后,文本框Text2显示的内容为“1302000100”。则文本框Text1中输入的内容可能是( )
A、2020-6-09 B、2020-02-28 C、2020-6-01 D、2019-01-07 -
14、小李基于选择排序算法编写了一个VB程序,功能如下:在文本框Text1中显示排序前的数据,单击“排序”按钮Command1,在文本框Text2中显示剔除重复数据后的升序排序结果。程序运行界面如下图所示。算法的思路:第i趟排序从a(i)….a(bottom)中查找最小值并记录其下标k,同时将后面的每个元素与a(i)比较是否重复,若发现重复数据,进行剔除处理;找到最小值与a(i)交换。
实现上述功能的VB程序如下,在划线处填入合适的代码。
Const n = 10
Dim a(1 To n) As Integer
Private Sub Command1_Click()
Dim i As Integer, j As Integer, t As Integer
Dim k As Integer, bottom As Integer
'获取排序前数据,依次存储在数组 a 中,并在文本框 Text1 中显示。代码略
bottom = n: i = 1
Do While i <= bottom - 1
k = i: j = bottom
Do While j > i
If a(j) < a(k) Then
k = j
ElseIf a(j) = a(i) Then '若发现重复数据,进行剔除处理
a(j) = a(bottom)
IfThen k = j
bottom = bottom - 1
End If
j = j - 1
Loop
If k <> i Then
t = a(k): a(k) = a(i): a(i) = t
Else
End If
Loop
For i = 1 To
Text2.Text = Text2.Text + Str(a(i))
Next i
End Sub
-
15、某加密算法的明文和密钥均由英文字母组成,且密钥循环使用,其加密规则如下:
①明文字符与对应密钥的ASCII码转化为二进制后求异或(对应位相同时结果为0,对应位不同时结果为 1,如二进制1001与二进制1100的异或值为0101),并将异或结果转换为十进制p;
②如果处在奇数位,则将明文字符循环后移p个位置,否则将明文前移p个位置。移动过程中保持大小写不变。
最后把所得到的字符连接起来就是密文。
例如,密钥是“abc”,明文“d”的加密过程是:字符“d”的ASCII码表示为二进制是1100100,密钥“a”的ASCII码表示为二进制是1100001,两数进行异或结果是:0000101,转化为十进制为5,因为是第1个位置,所以把明文后移5个位置,则密文是“i”。
该加密过程使用VB来实现。具体功能设计如下:在Text1中输入明文,Text2中输入密钥,单击“开始加密”按钮Command1后将密文显示在Text3中,界面设计如图所示。
请回答以下问题:
(1)、如果密钥为“bc”,字符“d”加密后的密文为:(字母“a”的 ASCII 码为97)(2)、请完善以下程序代码。Private Sub Command1_Click()
Dim s As String, sn As String
Dim i As Integer, t As Integer, u As Integer
Dim p As Integer, g As Integer
sn = ""
For i = 1 To Len(Text1.Text)
t = Asc(Mid(Text1.Text, i, 1))
If t >= Asc("a") Then
g = Asc("a")
Else
g = Asc("A")
End If
u = Asc(Mid(Text2.Text, (i - 1) Mod Len(Text2.Text) + 1, 1))
p =
t = t - g
If i Mod 2 = 1 Then
t = (t + p) Mod 26
Else
t =
End If
sn = sn + Chr(t + g)
Next i
Text3.Text = sn
End Sub
Function txor(x As Integer, y As Integer) As Integer 'x、y求异或并返回十进制
Dim a As Integer, b As Integer, r As Integer, i As Integer
a = x: b = y
r = 1
For i = 1 To 7
If a Mod 2 <> b Mod 2 Then
a = a \ 2
b = b \ 2
r = r * 2
Next i
End Function
-
16、编写VB程序,实现如下功能:在文本框Text1中输入二进制数,单击“转换”命令按钮Command1,在文本框Text2中输出对应的十六进制数。程序运行界面如图所示,请回答下列问题:
(1)、如果输入的二进制数为“1101010”,则得到的结果为。(2)、实现上述功能的VB程序如下,请在划线处填入合适代码。Private Function bw(x As Integer, y As String) As String
'函数bw功能:若二进制位数不足,通过在前面添"0"使得位数为4的倍数
Dim r As Integer, i As Integer
r = x Mod 4
If r <> 0 Then
For i = 1 To 4 - r
y = "0" + y
Next i
x = Len(y)
End If
bw =
End Function
Private Sub Command1_Click()
Dim m As String, n As Integer, i As Integer, a As Integer
Dim s As Integer, s1 As String, j As Integer
m = Text1.Text
n = Len(m)
Text2.Text = ""
m = '调整m的位数为4的倍数
For i = 1 To n - 3 Step 4
s = 0
For j = i To i + 3
a = Val(Mid(m, j, 1))
s =
Next j
If s >= 10 Then
s1 = Chr(Asc("A") + s - 10)
Else
s1 = CStr(s) '函数CStr类似于Str,但无前导空格
End If
Text2.Text = Text2.Text + s1
Next i
End Sub
-
17、小王基于选择排序算法编写了一个VB程序,功能如下:数组a有n*n个元素,按n行n列进行排列,按列进行升序排序。例如6*6的数组,第一列将a(1),a(7),a(13),a(19),a(25),a(31)进行排序。运行程序,在列表框List1中显示n*n个数列单击“排序”按钮Command1,在列表框List2中显示排序后的结果,程序运行界面如图所示。请回答下列问题:
(1)、n=6时运行结果如图所示,图中1处“47”在数组a中下标是(填数字)。(2)、为了实现上述功能,请在划线处填写合适的代码。Const n =6
Dim a(1 To n * n) As Integer
Private Sub Form_Load() '产生n*n个数组元素,每行按n个数显示在list1中
For i = 1 To n * n
a(i) = Int(Rnd * 90) + 10
s = s + Str(a(i))
IfThen
List1.AddItem s
s = ""
End If
Next i
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, w As Integer, s As String
For i = 1 To n * n
k = i
For j = k + n To
If a(k) > a(j) Then k = j
Next j
If
Then t = a(k): a(k) = a(i): a(i) = tNext i
'将排序后数组a的元素,按每行n个数显示在list2中,代码略
End Sub
(3)、程序中加框处代码有错,请改正。 -
18、若一个三位数abc满足,abc=a3+b3+c3则称abc为水仙花数。如三位数153满足13+53+33=1+125+27=153,则153是水仙花数。以下是找出所有水仙花数的程序,请把程序补充完整。(a为百位数、b为十位数、c为个位数)
Dim i As Integer, a As Integer, b As Integer, c As Integer
For i=100 To
a=i\100
b=
c=i-100*a-10*b
If Then
Print i
End If
Next i
-
19、小龙同学设计了一个求四则混合运算结果的程序,用于计算不带括号的+、-、*、\的运算,\为整除运算,且此处要求*和\的优先级相同。在表达式中输入待求解的表达式,以=结尾。按下 Command1“计算”按钮后,在标签控件Label1中输出运算结果。程序界面如下图所示:
(1)、在表达式中输入15-22\5*2+7=,则输出的结果。(2)、实现上述功能的VB程序如下,请在划线处填入合适代码。Function calculate(x As Integer, y As Integer, op As String) As Integer
If op = "+" Then calculate = x + y
If op = "-" Then calculate = x - y
If op = "*" Then calculate = x * y
If op = "\" Then calculate = x \ y
End Function
Function state(op As String) As Integer
If op = "#" Then state = -1
If op = "=" Then state = 1
If op = "+" Then state = 1
If op = "-" Then state = 1
If op = "*" Then state = 3
End Function
Private Sub Command1_Click()
Dim s As String, length As Integer, t As String Dim k As Integer, q As Integer
Dim opt(0 To 3) As String Dim i As Integer
Dim s1 As String
Dim a(1 To 3) As Integer
s = Text1.Text
length = Len(s)
t = "": k = 0: q = 0: opt(q) = "#"
For i = 1 To length
s1 = Mid(s, i, 1)
If s1 >= "0" And s1 <= "9" Then
t = t + s1
Else
k = k + 1
a(k) = Val(t)
t = ""
Do While
a(k - 1) = calculate(a(k - 1), a(k), opt(q))
k = k - 1
q= q - 1
Loop
q = q + 1
If s1 = "=" Then Label1.Caption = Str(a(1))
End If
Next i
End Sub
-
20、某班级学生为毕业晚会的一个节目设计一个仿“V”字造型,先筛选出班级中n名学生的所有男生,然后将参演的男生按照身高,摆出中间低两边高(先右后左)的造型,如下图1 所示。王林同学用VB编写模拟“节目造型”程序,功能如下:从数据库中导出所有学生编号、性别和身高数据;单击“筛选排序”按钮Command2,根据身高仿“V”字和造型进行有序排列,并将结果显示在文本框Text2 中。程序运行界面如图2所示。举例说明如下:
原1-7号男生身高
171 172 180 174 176 179 178
筛选排序后序列
171 172 174 176 178 179 180
“造型设计”后序列
180 178 174 171 172 176 179

图1
身高顺序:男3号〉男6号〉男7号〉男5号〉男4号〉男2号〉男1号

图2
Dim h (1 To n) As Integer
Dim height1(1 To n) As Integer
Dim height2(1 To n) As Integer
Dim n As Integer, i As Integer, j As Integer, num As Integer, tmp As Integer
Dim sex(1 To n) As String
Private Sub Form_Load()
'n名学生的身高和性别由数据库导出,分别存储在数组h和sex中,代码略!
End Sub
Private Sub Command1_Click()
b = 0
For i = 1 To n 'n名学生中的男生
If sex(i) = “男” Then ① : height1(num) = h(i)
Next i
For i = 1 To num – 1
For j = num To i + 1 Step -1
If height1(j) < height1(j - 1) Then
tmp = height1(j): height1(j) = height1(j - 1): height1(j - 1) = tmp
End If
Next j
Next i
For i = 1 To num
Text1.Text = Text1.Text + " " + Str(height1(i))
Next i
End Sub
Private Sub Command2_Click()
Dim left, right As Integer, i As Integer, mid As Integer
mid = Int((1 + num) / 2)
left = 0: right = 0
height2(mid) = height1(1)
For i = 1 To (num - 1) \ 2
right = right + 1
height2(mid + right) = height1(2*i)
left = left + 1
②
Next i
If num Mod 2 = 0 Then ③
For i = 1 To num
Text2.Text = Text2.Text + " " + Str(height2(i))
Next i
End Sub
(1)、若参演的8名男生身高为180、171、173、174、178、175、176、170,程序执行结束后height1(5)的值是。(2)、在程序下划线处填入适当的语句或表达式。将程序补充完整:①②③