Const n = 10
Private Sub Command1_Click()
num = 0: k = 0
Do While k < n
k = k + 1
If ① Then
num = num + 1
b(num) = a(k)
Else
②
End If
Loop
For j =③
a(j) = b(j - n + num)
Next j
End Sub
下列选项中,①②③中的代码顺序正确的是( )
Private Sub Command1_Click()
s = "Tokyo_Olympic_Games"
ans = ""
For i = 1 To Len(s)
c = Mid(s, i, 1)
If (2020 \ 10 ^ 2 - i) <= Len(s) Mod 10 \ 3 Then
If c >= "a" And c <= "z" Then c = Chr(Asc(c) - Asc("a") + Asc("A"))
End If
ans = ans + c
Next i
Label1.Caption = ans
End Sub
执行上述程序段后,标签Labele1中输出的内容为( )
a(1) = 1: a(2) = 2: a(3) = 3: a(4) = 4: a(5) = 5
k = Int(Rnd * 4) + 1: m = k
For i = 1 To m
If i <> k Then
If a(i) < a(k) Then
t = a(i): a(i) = a(k): a(k) = t
If k < 5 Then k = k + 1
End If
End If
Next i
执行该段程序段后,数组元素a(1)~a(5)的值依次不可能为( )
图a |
请回答下列问题:
(提示:M2单元格输入公式=SUMPRODUCT((A1:A100=“2”)*(I1:I100=“优秀”)),表示同时满足A1:A100是2班和I1:I100是优秀这两个条件的情况有几个,也就是进行条件计数。)
图b |
请回答下列问题:
Dim a(1 To 100) As Integer
Private Sub Form_Load()
'产生100个重量为10的小球,存储在数组a中
'其中随机选取1个小球的重量改为8,代码略
End Sub
Private Sub Command1_Click()
Dim left As Integer, right As Integer
Dim mid As Integer, count As Integer
Dim s(1 To 2) As Integer
left = 1: right = 100: count = 1
List2.AddItem Str(left) + "-------->" + Str(right)
Do While left<=right
s(1) = 0: s(2) = 0
①
i = left: k = 1
Do While i <= left + mid * 2 - 1
s(k) = s(k) + a(i)
If ② Then k = k + 1
i = i + 1
Loop
If s(1) = s(2) Then
left = left + 2 * mid
ElseIf s(1) < s(2) Then
right = left + mid - 1
Else
left = left + mid
End If
count = count + 1
List2.AddItem Str(left) + "-------->" + Str(right)
Loop
List2.AddItem "经过" + Str(count) + "次后找到这个数"
End Sub
① ②
图a |
图b |
程序运行界面如图a所示。实现上述功能的VB代码如下:
Dim n As Integer, m As Integer
Dim a(1 To 100) As Integer
Dim b(1 To 10) As Integer 'b数组存储柱子位置
Dim f(3) As Integer, i As Integer 'f数组存储三种类型的个数
Private Sub Command1_Click()
n = Val(Text1.Text):m = Val(Text2.Text)
k = 0
For i = 1 To m
b(i) = Int((Rnd * n ^ 2) + 1)
a(b(i)) = 2
For j = 1 To i - 1
If b(i) = b(j) Then
①
Exit For
End If
Next j
Next i
'将房间设置为黑白两种颜色交错,白黑以0、1代替
For i = 1 To n * n
If a(i) = 0 And k = 1 Then
s = s + "■": a(i) = k
ElseIf a(i) = 0 And k = 0 Then
s = s + "□": a(i) = k
Else
s = s + "○"
f(k) = f(k) - 1
f(2) = f(2) + 1
End If
②
If i Mod n = 0 Then
List1.AddItem s
s = ""
End If
Next i
'对b数组的数值按升序进行排序,代码略
For i = 1 To m - 1
s = search(i)
If s > smax Then smax = s
Next i
'对f(0)和f(1)的相等情况进行判断,并输出最后结果,代码略
End Sub
Function search(i As Integer) As Integer
Dim x1 As Integer, x2 As Integer
Dim y1 As Integer, y2 As Integer
x1 = (b(i) - 1) \ n + 1
y1 = (b(i) - 1) Mod n + 1
For j = i + 1 To m
x2 = (b(j) - 1) \ n + 1
y2 = (b(j) - 1) Mod n + 1
If ③ Then s = 0
s = (x2 - x1) * (y2 - y1)
If s > search Then search = s
Next j
End Function
① ② ③