程序代码:Option Explicit
Dim n(1 To 6) As Long
Dim a(1 To 8) As Long
Sub Init_a()
a(1) = 1
a(2) = 3
a(3) = 5
a(4) = 8
a(5) = 16
a(6) = 24
a(7) = 32
a(8) = 40
End Sub
Private Sub Command1_Click()
'n 的文本框是:text1(?)
Dim i As Long
Dim j As Long
Dim b As Long
Dim bc(1 To 96) As Long
Dim bw As Long, bi As Long
For i = 0 To 5
If IsNumeric(Text1(i).Text) Then
n(i + 1) = Val(Text1(i).Text)
Else
MsgBox "第 " & i + 1 & " 个数输入不正确", vbCritical, "错误"
Exit Sub
End If
Next i
For i = 1 To 6
For j = 1 To 8
b = n(i) + a(j) '加法
If b <= 50 Then '符合条件
For bi = 1 To bw '搜索历史答案
If bc(bi) = b Then '找到
Exit Sub '退出循环
End If
Next bi
If bi = bw + 1 Then '如果没找到
bw = bw + 1 '计数
bc(bw) = b '保存历史
Text2.Text = Text2.Text & vbCrLf & n(i) & "+" & a(j) & "=" & b '添加结果
End If
End If
b = n(i) - a(j) '减法
If b >= 0 Then '符合条件
For bi = 1 To bw
If bc(bi) = b Then
Exit Sub
End If
Next bi
If bi = bw + 1 Then
bw = bw + 1
bc(bw) = b
Text2.Text = Text2.Text & vbCrLf & n(i) & "-" & a(j) & "=" & b
End If
End If
Next j
Next i
End Sub
Private Sub Form_Load()
Call Init_a
End Sub
text2 是多行,带竖滚动条
text1 是控件数组,下标从 0 到 5

授人于鱼,不如授人于渔
早已停用QQ了







