题库 高中信息

题干

星期天,小龙来到动物园游玩,园内共有N个景点(可在10个以上),每个景点都有一个标号,标号为1至N。现在只知道每个景点有一条路连接下一个景点。小龙想知道,根据这些道路信息,从其中一个景点出发,最后再回到出发景点,最多能游玩多少个景点。
例如,共有N=5个景点,每个景点连接的下一个景点分别是2,4,5,5,2。
景点号
1
2
3
4
5
下一景点号
2
4
5
5
2
 
则他可以从2号景点出发,最多可以游玩2号、4号、5号三个景点。

程序代码如下:
Private Sub Command1_Click()

Dim a(1 To 100) As Integer, d(1 To 100) As Integer

Dim jd As String, m As String, c As Integer, i As Integer

Dim s As Integer, p As Integer, k As Integer, ans As Integer

jd = Text1.Text + ","

s = 0: c = 0

For i = 1 To Len(jd)

m = Mid(jd, i, 1)
If m <> "," Then
   ①   
Else
c = c + 1: a(c) = s: s = 0
End If

Next i

ans = 0: k = 0

For i = 1 To c

For k = 1 To c
d(k) = 0
Next k
If d(i) = 0 Then
p = i
Do While p <= c
If d(p) = 0 Then
k = k + 1: d(p) = k
Else
    ②    
If y > ans Then ans = y
k = 0
Exit Do
End If

Loop
End If

Next i

Text2.Text = Str(ans)

End Sub
(1)要使程序运行时,Form1的BackColor属性值为黑色,以下代码正确的是______(单选,填字母)。
A.Private Sub Form_Load()

Form1. BackColor = RGB(255, 255,255)

End Sub
B.Private Sub Form_Load()
Form1.BackColor = RGB(0, 0, 0)
End Sub
C.Private Sub Form1_Load()

orm1.BackColor = RGB(255,255,255)

End Sub
D.Private Sub Form1_Load()
Form1.BackColor = RGB(0, 0, 0)
End Sub
 
(2)若有7个景点,且每个景点的连接情况为:6,3,7,2,7,5,4,那么小龙最多可以游玩的景点数是__________。
(3)请把划线处的代码补充完整:
①__________
②__________
(4)程序加框处代码有错,请改正:_________
上一题 下一题 0.99难度 None 更新时间:2020-03-18 09:42:37

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

同类题5

某数据压缩方法描述如下:
1)原始数据中,某数不为0且相邻无重复,压缩数据用该数据表示;
2)原始数据中,某数为0且相邻无重复,压缩数据用两个数表示,第1个位0,第2个为0;
3)原始数据中,某数据相邻有重复,压缩数据用3个数表示:第1个位0,第2个为重复数的个数,第3个为该数本身;
根据上述压缩方法,对应的解压缩方法示例如图a所示。

图a

小明编写了一个解压送VB程序,功能如下:窗体加载时,自动读取压缩数据,依次存储在数组元素a(1)、a(2)、a(3)……中,压缩数据的个数存储在变量n中,压缩数据显示咋文本框Text1中。单击“解压缩”按钮Command1,程序对压缩数据依次进行解压缩处理,解压缩数据显示在文本框Text2中。程序运行界面如图b所示。

图b

(1)如果压缩数据为“23,0,21,66,0,0,77,0,5,0”,则解压缩数据的个数是__________。
(2)实现上述功能的VB程序如下。请在划线处填入合适代码。
Dim a(1 To 100) As Integer '存储压缩数据,最大处理个数为100
Dim b(1 To 1000) As Integer '存储解压缩数据,最大处理个数为1000
Dim n As Integer '存储压缩数据的个数
Private Sub Form_Load()
'压缩数据由上述压缩方法生成
'本过程用于读取压缩数据并存储在数组a,压缩数据个数存储在变量n中
'代码略
End Sub
Private Sub Command1_Click()

Dim pa As Integer '存储压缩数组当前处理位置

Dim pb As Integer '存储解压缩数组当前处理位置

Dim firstdata As Integer, count As Integer, i As Integer

pa = 1: pb = 1

Do While pa <= n

 firstdata = a(pa)
If firstdata <> 0 Then  '示例1情况处理
b(pb) = firstdata
pa = pa + 1: pb = pb + 1

Else

count = a(pa + 1)

If count = 0 Then    '示例2情况处理

b(pb) = 0

pa =____________: pb = pb + 1

Else '示例3情况处理

For i = 1 To count
______________
Next i
pa = pa + 3:  pb = pb + count
End If
End If

Loop

Text2.Text = Str(b(1))

For i = 2 To ___________

Text2.Text = Text2.Text + , + Str(b(i))

Next i

End Sub