1)用一个一维数组来模拟,编号1~N保存在数据a(1)~a(n)中,来代表N个小朋友。
2)K代表报数的起始位置,从数组的a(k)开始遍列,报到m出圈,将当前位置的元素删除,后面的元素依次往前移位。总数减1。
3)当报数报到数组元素的最后一个时,返回数组开头接着报数。
4)当总数只剩下一个数时,直接输出。
界面如下:

Private Sub Command1_Click( )
Dim i As Integer
Dim n As Integer
Dim m As Integer, k As Integer
Dim A(1 To 50) As Integer '存放编号的数组
n = Val(Text1.Text) '编号个数
k = Val(Text2.Text) '报数起始位
m = Val(Text3.Text) '报到出圈数
If n > 0 And k > 0 And m > 0 ① n <= 50 Then
For i = 1 To n '初始化编号a(1)=1,a(2)=2,……
A(i) = i
Next i
Label1.Caption = ② '调用出圈函数,得到返回的出圈顺序
Else
MsgBox "编号、起始位、报到出圈数都必须大于0!编号不能超过50!"
End If
End Sub
Private Function chuquan(b() As Integer, n As Integer, m As Integer, k As Integer) As String
Dim i As Integer, j As Integer
Dim s As String '出圈顺序存放
i = k - 1
s = "出圈顺序为:"
Do While n > 1
i = i + 1
m = m - 1
If ③ Then
s = s + Str(b(i)) + ","
For j = i To n - 1
b(j) = b(j + 1)
Next j
b(j) = 0
n = n - 1
i = i - 1
m = 4
End If
If i = n Then i = 0
Loop
chuquan = ④
End Function
①
②
③
④
t=“”: i=0 : j=9 : key=62: f=False
Do While i<=j And Not f
m=Fix((i+j) / 2)
t=t+Str(rn)
If a(m)=key Then
f=True
Elself a(m) > key Then
i=m+1
t=t+“→”
Else
j=m-1
t=t+“←”
End If
Loop
数组元素a⑹到a⑼的值依次为“99, 94, 90, 87, 78, 70, 63, 56, 45, 36”,执行该程序段,t的值是( )
inp=input(“May i have your name? ”).split()
family_name=
print(“It's nice to meet you ”+family_name)
运行该程序,其输入输出样例如下:
May i have your name? blues villiam
It's nice to meet you villiam
或:
May i have your name? my name is michile D jeckson
It's nice to meet you jeckson
请根据程序功能补全代码。
把n转化为r进制并显示在标签Label1上。
s = ""
n = Val(Text1.Text)
r = Val(Text2.Text)
Do While n > 0
Loop
Label1.Caption = s
方框中的代码由以下三部分组成:
① n = n \ r ② t = n Mod r ③ s = Chr(Asc("0") + t) + s
下列选项中代码顺序正确的是( )