题库 高中信息

题干

有一个报数游戏, n个人排成一圈,游戏开始时规定一个报数号m,然后从其中一个人开始按顺时针报数1,2,3……n,当某人报到的数为m的倍数时,即被淘汰,其他人继续游戏,直到最后。现用VB设计了一个程序,程序界面如下图所示。在文本框Text1中输入参加游戏的人数n,在文本框Text2中输入报数号m,单击“报数”按钮,即在列表框List1中显示每次被淘汰的人的顺序号。

实现上述功能的VB代码如下,但加框处有错,请改正。
Private Sub Command1_Click()
Dim n As Integer, m As Integer
Dim a(1 To 50)  As Integer
n = Val(Text1.Text)
m = Val(Text2.Text)
For i =" 1" To n
'(1)
Next i
s =" 0:j" = 0
Do While s < n
t = 0
Do While t < m
    '(2)   
t =" t" + a(j)
Loop
a(j) = 0
s =" s" + 1
List1.AddItem "第" + Str(s) + "次:" + Str(j)
Loop
End Sub
上一题 下一题 0.99难度 填空题 更新时间:2019-02-28 02:40:05

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

同类题1

日期判断:从文本框Text1输入一个8位数字表示的日期,其中第1到4位表示年(第1位确定不为零),第5到6位表示月,第7到8位表示日。单击“判断”按钮,判断该日期是否合法,将结果依次输出到列表框List1。程序界面如下图所示:
提示:年份值符合下列两种情况之一的是闰年。
1.年份是4的倍数,但不是100的倍数;
2.年份是400的倍数。

(1)观察程序代码,可知“判断”按钮的对象名为 。(单选,填字母:
A.Text1/B.List1/C.Command1/D.Judge/E.判断)
(2)为实现上述功能,请在划线处填入合适的代码。
Private Sub Judge_Click()
Dim riqi As String, st As String
Dim year As Integer, month As Integer, day As Integer
Dim rn As Boolean, hefa As Boolean
riqi = Text1.Text
year =" Val(Mid(riqi," 1, 4))
month =" Val(Mid(riqi," 5, 2))
day =        ‘第①处
st =" Str(year)" + "年" + Str(month) + "月" + Str(day) + "日"
rn = False  ‘用于判断是否为闰年
If  Then rn = True  ‘第②处
If year Mod 4 =" 0" And year Mod 100 <> 0 Then rn = True
hefa = True  ‘用于判断是否为合法日期
If month =" 0" Or month > 12 Then hefa = False
If day =" 0" Then hefa = False
If (month =" 1" Or month =" 3" Or month =" 5" Or month =" 7" Or  ’与下一行语句同行
month =" 8" Or month =" 10" Or month =" 12)" And day > 31 Then hefa = False
If (month =" 4" Or month =" 6" Or month =" 9" Or month = 11) ’与下一行语句同行
And day > 30 Then hefa = False
If     Then hefa =" False" ’第③处,判断闰年2月的天数是否合法
If month =" 2" And Rn =" False" And day > 28 Then hefa = False
If hefa =" True" Then st =" st" + " 合法日期" Else st =" st" + " 非法日期"
List1.AddItem st
End Sub