Sub Command1_Click()
Dim i As Integer, n As Integer
m=106
n =
Do While m <= 996
If Then n = n + 1
m=
Loop
Text1.Text = Str(n)
End Sub
Dim a(1 to 5) as Integer, i as Integer, c as Integer
a(1) = 2 : a(2) = 1 : a(3) = 3 : a(4) = 4 : a(5) = 5
c = 0
For I = 3 to 5
If a(i - 2) + a(i - 1) = a(i) Then c = c + 1
Next i
Text1.Text = Str(c)
该程序运行后,文本框text1中显示的内容是( )
Private Sub Command1_Click()
i=1
j=7
Do While ____①____
i=____②____
j=____③____
Loop
Text1.Text=Str(i)
Text2.Text=Str(j)
End Sub
则下列说法正确的是( )
①密码是六位数字,前面两位为59;②最后两位数字相同;③能被12和38整除。
程序界面如图1所示,单击 “帮助找回密码”按钮(Command1)后,可能的密码显示在列表框List1中。
Private Sub Command1_click ()
Dim x As Integer, s As Long,
Dim y As Integer, i As Integer
For i = 0 To 9999
S = 590000 + i
If ① Then
x= s mod 10
y = ②
If x = y Then
List1.AddItem Str(s)
End If
End If
Next i
End Sub
最佳方案:初始时所有人聚集在2号房间,花费的能量和:7*0+8*1+6*2+4*3+4*4=48。为了解决这个问题,小明编写了一个VB程序。在窗体加载时,从数据库中读取N的值和编号为1到N的房间的居住人数,人数存储在数组a中。点击窗体上的按钮Command1,程序枚举每一种方案(不同的初始房间),计算该方案的能量和,在文本框Text1中输出最优方案的初始房间编号,在文本框Text2中输出最小能量和。
实现上述功能的VB代码如下,请在划线处填入合适代码。
Dim a(1 To 100) As Integer ’依次存储编号为1到100的房间的居住人数
Private Sub Form_Load()
‘本过程从数据库中读取N的值和每个房间居住人数,存储在数组a中
‘代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, w As Integer, k as Integer
Dim t As Long, ans As Long
k=0 : ans = 32767 ‘ans初始化为最大的Integer数据
For i = 1 To n
t = 0
For j = 0 To n - 1
w=
If w = 0 Then w = n
t=
Next j
If t < ans Then
k= i
ans = t
End If
Next i
Text1.Text = Str (k) ‘起始房间编号
Text2.Text =
End Sub
例如:n=3时,第1次取1根,第2次取2根,此时正好取完,无须添加火柴,k=0;
例如:n=8时,第1次取1根,第2次取2根,第3次取3根,第4次要取4根,但剩余2根不够取。则加上1根,剩余3根,再从1根开始取,即第4次取1根,第5次取2根,剩余火柴为0,游戏结束,得k=1。
又如:n=4时,第1次取1根,第2次取2根,第3次不够取,若加上1根,剩余2根,再从1根开始取,第3次取1根,剩余1根不够第4次取,再加1根,又是剩余2根,显然加1根永远不可能取完。所以改用每次加2根,第1次取1根,第2次取2根,第3次不够取,添加2根,第3次取1根,第4次取2根,恰好能取完,得k=2。
编写一个VB程序可实现上述功能:在文本框Text1中输入火柴数量,单击“计算”按钮,在文本框Text2中显示最少添加数量,程序运行界面如下图所示:
实现上述功能的程序代码如下:
Private Sub ok_Click()
Dim a(1 To 100) As Boolean, n As Integer, k As Integer, i As Integer
n = Val(Text1.Text)
For i = 1 To 100
a(i) = False
Next i
a(n) = True
Do While n <> 0
i = 1
Do While i <= n
①
i = i + 1
Loop
If n = 0 Then
Text2.Text = Str(k)
Else
If k = 0 Then k = 1
n = n + k
If ② Then
k = k + 1
n = Val(Text1.Text)
Else
a(n) = True
End If
End If
Loop
End Sub
① ②
例如,共有N=5个景点,每个景点连接的下一个景点分别是 2,4,2,3,1。
| 景点号 | 1 | 2 | 3 | 4 | 5 |
| 下一景点号 | 2 | 4 | 2 | 3 | 1 |
则他可以从2号景点出发,最多可以游玩2号、3号、4号三个景点。程序代码如下:
Private Sub Command1_Click()
Dim a(1 To 100) As Integer, d(1 To 100) As Integer '数组 a 存放下一景点号
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
For k=1 To 100 d(k)=0
Next k
ans=0: k=0
For i=1 To c '枚举起点
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
① ②
程序如下:
Private Sub Form_Click()
Dim i As Integer
Dim t As Integer
For i = 100 To 200
If Then '不能够被3整除的条件
Print i
t=t+1
End If
Next i
End Sub
程序运行结束后t的值为