
图1


Private Sub Command1_Click()
Dim i as integer, j as integer, c As Integer
Dim n As Long
c = 0
For i = 0 To 99
n = 110800 + i
If ① Then
List1.AddItem Str(n) + " " + "5"
②
End If
Next i
Label2.Caption = "满足条件的数有:" + Str(c) + "组"
End Sub
① ②
例如:n = 5,a(1)= 4,a(2)= 7 ,a(3)= 8,a(4)= 6,a(5)= 4。
最佳方案为初始时所有人聚集在2号房间花费的最小能量为7*0+8*1+6*2+4*3+4*4=48。
实现上述功能的 VB 代码如下,但加框处代码有错,请改正。
Dim a( 1 To 100) As Integer '依次存储编号为 1 到 100 的房间的最多居住人数
Private Sub Form_Load()
'产生N的值
'本过程从数据库中依次读取编号为1到 N的房间的最多居住人数,并存储在数组a中
'代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, w As Integer
Dim t As Long, ans As Long
ans = 32767
For i=1 To n
t = 0
For j=0 To n-1
‘(1)
If w=0 Then w=n
‘(2)
Next j
If t < ans Then ans = t
Next i
Text2.Text = Str(ans)
End Sub
以上程序段运行时,为了实现上述功能,加框处代码应改正为:
⑴;⑵。
Dim a(1 To 1000) As Integer
Dim n As Integer
Private Sub Form_Load()
‘确定n的值和数组a的各个元素值,即每根棍子的长度值,代码略
End Sub
Function max(x As Integer, y As Integer) As Integer
If x > y Then
max=x
Else
max=y
End If
End Function
Private Sub Command1_Click()
Dim i As Integer , j As Integer , k As Integer
Dim ans As Integer , c As Integer , longest As Integer , rest As Integer
ans=0
‘让 i<j<k,保证棍子不会重复选中
For i=1 To n
For j=i+1 To n
For k=j+1 To n
c=a(i)+a(j)+a(k)
longest=
‘①
rest=c-longest ‘rest 保存最短的两条边的和
If
Then ‘②
ans=max(ans , c)
End If
Next k
Next j
Next i
Print ans
End Sub
① ②
a=[23,15,51,36,78,47,39,9,88,96]
n=0
m=70
for i in range(0,10):
if :
n+=1
print("个数:",n)
程序中划线处的代码应为( )
为实现上述功能程序如下,但加框处的代码有误,请改正。
Private Sub Command1_Click()
Dim n As Integer
Dim i As Integer, c As Integer
n = Val(Text1.Text)
List1.Clear
c = 0
If n Mod 2 = 0 Then
For
①
If
Then ②
List1.AddItem n & "=" & i & "+" & n - i
c = c + 1
End If
Next i
Label2.Caption = "共有" & c & "种组合"
Else
Label2.Caption = "请输入一个大于 2 的偶数"
End If
End Sub
Function is Prime(x As Integer) As Boolean
Dim i As Integer
Is Prime = True
For i = 2 To Int(Sqr(x))
If x Mod i = 0 Then
Is Prime = False
Exit For
End If
Next i
End Function
① ②
有一种火柴棒游戏,将火柴棒摆成形如“A+B=C”的火柴棒等式。用n根火柴棒摆放数学等式的规则约定如下:
⑴A、B都是不大于1000的正整数,若数值非零,则最高位不能是0;
⑵摆放“+”与“=”各使用两根火柴棒;
⑶A+B=C 与B+A=C视为相同的等式;
⑷n根火柴棒必须全部用上。
小明依据上述规则使用VB编写程序,研究“使用n根火柴棒,可以摆放出哪些不同的等式”,代码如下所示。请回答下列问题。
Dim sz(0 To 9) As Integer ‘数组元素sz(i)用于存储数字i所使用的火柴棒的数量
Private Sub Form_Load()
sz(0) = 6 : sz(1) = 2 : sz(2) = 5 : sz(3) = 5 : sz(4) = 4
sz(5) = 5 : sz(6) = 6 : sz(7) = 3 : sz(8) = 7 : sz(9) = 6
End Sub
‘自定义函数hcs用于求解摆放数字x需要使用的火柴棒数量
Function hcs(ByVal x As Integer) As Integer
Dim s As Integer, k as integer
s = 0
Do While ①
k = x Mod 10
s=s+sz(k)
x = x \ 10
Loop
hcs = s + sz(x)
End Function
Private Sub Command1_Click()
Dim n As Integer
Dim a As Integer, b As Integer, c As Integer
n = Val(Text1.Text)
ans = 0
List1.Clear
For a = 0 To 999
For b = ② To 999
c = a + b
If ③ Then
List1.AddItem (Str(a) + "+" + Str(b) + "=" + Str(c))
ans = ans + 1
End If
Next b
Next a
List1.AddItem ("共有" + Str(ans) + "种等式")
End Sub
① ② ③