题库 高中信息

题干

如下VB 程序代码:
For i=3 to 15 step x
Print “∗”
Next i
下列说法中正确的是(  )
A.若x 的值为3,则显示5 个∗B.若x 的值为5,则显示4 个∗
C.若x 的值为0,则显示0 个∗D.若x 的值为-2,则显示1 个∗
上一题 下一题 0.99难度 选择题 更新时间:2019-05-06 09:33:05

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

同类题3

(加试题)猴子选大王的问题:N 只猴子选大王,选举办法如下:从头到尾 1、2、3 报数,凡报 3 的退 出,余下的从尾到头 1、2、3 报数,还是报 3 的退出,依此类推;当剩下只有两只猴子时,不再报数,取 当前报数报 1 的为王。如五只猴子报数,则第一轮顺序为第 12345,第 3 只出列,第二轮顺序为 5421,第 2只出列;第三轮顺序为 145,第 5 只出列,这时第 1 只猴子报数为 1,则第 1 只猴子为猴王。若想当猴王, 请问最初占据什么位置?在 Text1 文本框中输入参选大王的猴子总数量,单击“猴王的位置”,在 Label2 标 签上显猴王最初的位置。VB程序运行界面如下:

实现上述功能的 VB程序如下:
(1)如果只有 10 只猴子参加本次选大王,则猴王最初的位置为:________
(2)实现上述功能的 VB程序如下,请在划线处填入合适代码。
Private Sub Command1Click()
Dim n, x, m, s As Integer   '假设参与的猴子数量不超过 5000
Dim a(1 To 5000) As Integer  '用数组 a 存储每只猴子的报数,值为 3 时视同出列
Dim t, y As Boolean    't 用于循环,y 为 true 时表示报数顺序是从头到尾,y 为 false 时报数顺序 是从尾到头
n = Val(Text1.Text)
x = 1  'x 为每次猴子的位置
m = 1  'm 为报数的 1、2、3
y = True
t = True
Do While t
'该位置的猴子是否已经出列
If a(x) <> 3 Then '没有出列的,则报数
a(x) = m
①________ '1,2,3 之后重新开始
If m > 3 Then m = 1
Else '每次有猴子报 3 出列之后,检查是否已经只有两只猴子没有出列
s = 0
For i = 1 To n
If ②________   Then s = s + 1
Next i
If s < 3 Then Exit Do
End If
If y = True Then x = x + 1 Else x = x - 1
'检查报数是在递增,还是递减,y 为 true 时递增
'报到最后一次猴子后
If x > n Then y = False: m = 1: x = n
'报到第一次猴子后
If x = 0 Then y = True: m = 1:
Loop
'输出猴王的位置
For i = 1 To n
③_________
If a(i) = 1 Then Label2.Caption = "猴王的位置为第" + Str(i) + " 只"
Next i
End Sub

同类题4

给定区间a1,a2和b1,b2,若a2≥b1,则认为这两个区间是有重叠的,可进行合并。如区间1,3和2,6可合并为1,6;区间1,6,2,5可合并为1,6;区间1,4和4,5可合并为1,5。
编写一个“合并重叠区间”的VB程序,功能如下:在文本框Text1中按各区间起始值升序依次输入各区间的起始值和终止值(数据都用逗号分隔并以逗号结尾),单击“确定”按钮后,在Text2中显示合并后的各个区间。例如,在文本框Text1中输入“1,2,3,5,4,6,9,12,10,11,”,表示区间1,2,3,5,4,6,9,12,10,11,合并后的区间分别为1,2,3,6,9,12。程序运行界面如图所示,实现上述功能的VB代码如下:

Const n=100
Private Sub Cmd1_Click()
Dim i As Integer, k As Integer, L As Integer, R
As Integer
Dim s As String, c As String, t As String, result
As String
Dim a(1 To n) As Integer
s=  :t="":k=0
For i=1 To Len(s)
c=Mid(s,i,1)
If c<>, Then

Else
k=k+1
a(k)=Val(t)
t=""
End If
Next i
L=a(1):R=a(2)
i=3
Do While i<=k
If a(i)>R Then
result = result+"("+Str(L)+,+Str(R)+"),"
L=a(i):R=a(i+1)
   
R=a(i+1)
End If
 
Loop
result=result+"("+Str(L)+,+Str(R)+"),"
Text2. Text=result
End Sub
(1)码中①②③划线处代码补充完整。
①__________
②__________
③__________
(2)程序代码中的加框处代码有误,请改正。
_____________________
(3)运行该程序,输入数据如图所示,程序执行完毕时,变量k 为________________。