VERSION 5.00
Begin VB.Form frmMain
BorderStyle = 1 'Fixed Single
Caption = " 24点"
ClientHeight = 4020
ClientLeft = 45
ClientTop = 330
ClientWidth = 5325
Icon = "Form1.frx":0000
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 4020
ScaleWidth = 5325
StartUpPosition = 3 '窗口缺省
Begin VB.Timer t
Interval = 20000
Left = 4440
Top = 2310
End
Begin VB.CommandButton cmdExit
Caption = "退出"
Height = 525
Left = 3330
TabIndex = 6
Top = 3030
Width = 975
End
Begin VB.CommandButton cmdDo
Caption = "求解"
Height = 525
Left = 2160
TabIndex = 1
Top = 3030
Width = 975
End
Begin VB.CommandButton cmdMake
Caption = "出题"
Height = 525
Left = 960
TabIndex = 0
Top = 3030
Width = 975
End
Begin VB.Label lresult
AutoSize = -1 'True
BeginProperty Font
Name = "宋体"
Size = 15.75
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 315
Left = 450
TabIndex = 7
Top = 1560
Width = 165
End
Begin VB.Label lNumberD
AutoSize = -1 'True
Caption = "0"
BeginProperty Font
Name = "宋体"
Size = 48
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H0000C000&
Height = 960
Left = 4200
TabIndex = 5
Top = 300
Width = 480
End
Begin VB.Label lNumberB
AutoSize = -1 'True
Caption = "0"
BeginProperty Font
Name = "宋体"
Size = 48
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H0080FF80&
Height = 960
Left = 1680
TabIndex = 4
Top = 300
Width = 480
End
Begin VB.Label lNumberC
AutoSize = -1 'True
Caption = "0"
BeginProperty Font
Name = "宋体"
Size = 48
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H0000FF00&
Height = 960
Left = 2940
TabIndex = 3
Top = 300
Width = 480
End
Begin VB.Label lNumberA
AutoSize = -1 'True
Caption = "0"
BeginProperty Font
Name = "宋体"
Size = 48
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00C0FFC0&
Height = 960
Left = 420
TabIndex = 2
Top = 300
Width = 480
End
End
Attribute VB_Name = "frmMain"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim NumberA, NumberB, NumberC, NumberD As Single
Dim A, B, C, D As Single
Dim Jieguo As Single
Dim ResultExpression As String
Dim i As Integer
Dim Num As Boolean
Sub Kind(i As Integer)
Select Case i
Case 1
A = NumberA: B = NumberB: C = NumberC: D = NumberD
Case 2
A = NumberA: B = NumberB: D = NumberC: C = NumberD
Case 3
A = NumberA: C = NumberB: B = NumberC: D = NumberD
Case 4
A = NumberA: C = NumberB: D = NumberC: B = NumberD
Case 5
A = NumberA: D = NumberB: B = NumberC: C = NumberD
Case 6
A = NumberA: D = NumberB: C = NumberC: B = NumberD
Case 7
B = NumberA: A = NumberB: C = NumberC: D = NumberD
Case 8
B = NumberA: A = NumberB: D = NumberC: C = NumberD
Case 9
B = NumberA: C = NumberB: A = NumberC: D = NumberD
Case 10
B = NumberA: C = NumberB: D = NumberC: A = NumberD
Case 11
B = NumberA: D = NumberB: A = NumberC: C = NumberD
Case 12
B = NumberA: D = NumberB: C = NumberC: A = NumberD
Case 13
C = NumberA: A = NumberB: B = NumberC: D = NumberD
Case 14
C = NumberA: A = NumberB: D = NumberC: B = NumberD
Case 15
C = NumberA: B = NumberB: A = NumberC: D = NumberD
Case 16
C = NumberA: B = NumberB: D = NumberC: A = NumberD
Case 17
C = NumberA: D = NumberB: A = NumberC: B = NumberD
Case 18
C = NumberA: D = NumberB: B = NumberC: A = NumberD
Case 19
D = NumberA: A = NumberB: B = NumberC: C = NumberD
Case 20
D = NumberA: A = NumberB: C = NumberC: B = NumberD
Case 21
D = NumberA: B = NumberB: A = NumberC: C = NumberD
Case 22
D = NumberA: B = NumberB: C = NumberC: A = NumberD
Case 23
D = NumberA: C = NumberB: A = NumberC: B = NumberD
Case 24
D = NumberA: C = NumberB: B = NumberC: A = NumberD
End Select
End Sub
Private Sub cmdDo_Click()
For j = 1 To 30
Select Case j
Case 1
For i = 1 To 1
Call Kind(i)
Jieguo = A + B + C + D
If Jieguo = 24 Then
ResultExpression = A & "+" & B & "+" & C & "+" & D & "=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 2
For i = 1 To 24
Call Kind(i)
Jieguo = A + B + C - D
If Jieguo = 24 Then
ResultExpression = A & "+" & B & "+" & C & "-" & D & "=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 3
For i = 1 To 24
Call Kind(i)
Jieguo = A * B + C + D
If Jieguo = 24 Then
ResultExpression = A & "*" & B & "+" & C & "+" & D & "=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 4
For i = 1 To 24
Call Kind(i)
Jieguo = A * B + C - D
If Jieguo = 24 Then
ResultExpression = A & "*" & B & "+" & C & "-" & D & "=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 5
For i = 1 To 24
Call Kind(i)
Jieguo = A * B * C + D
If Jieguo = 24 Then
ResultExpression = A & "*" & B & "*" & C & "+" & D & "=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 6
For i = 1 To 24
Call Kind(i)
Jieguo = A * B * C - D
If Jieguo = 24 Then
ResultExpression = A & "*" & B & "*" & C & "-" & D & "=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 7
For i = 1 To 24
Call Kind(i)
Jieguo = A * B * C * D
If Jieguo = 24 Then
ResultExpression = A & "*" & B & "*" & C & "*" & D & "=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 8
For i = 1 To 24
Call Kind(i)
Jieguo = A * B + C * D
If Jieguo = 24 Then
ResultExpression = A & "*" & B & "+" & C & "*" & D & "=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 9
For i = 1 To 24
Call Kind(i)
Jieguo = A * B - C * D
If Jieguo = 24 Then
ResultExpression = A & "*" & B & "-" & C & "*" & D & "=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 10
For i = 1 To 24
Call Kind(i)
Jieguo = A / B + C + D
If Jieguo = 24 Then
ResultExpression = A & "/" & B & "+" & C & "+" & D & "=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 11
For i = 1 To 24
Call Kind(i)
Jieguo = A * B / C + D
If Jieguo = 24 Then
ResultExpression = A & "*" & B & "/" & C & "+" & D & "=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 12
For i = 1 To 24
Call Kind(i)
Jieguo = A * B / C - D
If Jieguo = 24 Then
ResultExpression = A & "*" & B & "/" & C & "-" & D & "=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 13
For i = 1 To 24
Call Kind(i)
Jieguo = A * B * C / D
If Jieguo = 24 Then
ResultExpression = A & "*" & B & "*" & C & "/" & D & "=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 14
For i = 1 To 24
Call Kind(i)
Jieguo = A * B / C / D
If Jieguo = 24 Then
ResultExpression = A & "*" & B & "/" & C & "/" & D & "=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 15
For i = 1 To 24
Call Kind(i)
Jieguo = (A + B) * C / D
If Jieguo = 24 Then
ResultExpression = "(" & A & "+" & B & ")*" & C & "/" & D & "=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 16
For i = 1 To 24
Call Kind(i)
Jieguo = (A + B) * C * D
If Jieguo = 24 Then
ResultExpression = "(" & A & "+" & B & ")*" & C & "*" & D & "=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 17
For i = 1 To 24
Call Kind(i)
Jieguo = (A + B) * (C + D)
If Jieguo = 24 Then
ResultExpression = "(" & A & "+" & B & ")*(" & C & "+" & D & ")=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 18
For i = 1 To 24
Call Kind(i)
Jieguo = (A + B) * (C - D)
If Jieguo = 24 Then
ResultExpression = "(" & A & "+" & B & ")*(" & C & "-" & D & ")=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 19
For i = 1 To 24
Call Kind(i)
Jieguo = (A - B) * (C - D)
If Jieguo = 24 Then
ResultExpression = "(" & A & "-" & B & ")*(" & C & "-" & D & ")=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 20
For i = 1 To 24
Call Kind(i)
Jieguo = (A - B) * C / D
If Jieguo = 24 Then
ResultExpression = "(" & A & "-" & B & ")*" & C & "/" & D & "=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 21
For i = 1 To 24
Call Kind(i)
Jieguo = (A - B) * C * D
If Jieguo = 24 Then
ResultExpression = "(" & A & "-" & B & ")*" & C & "*" & D & "=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 22
For i = 1 To 24
Call Kind(i)
Jieguo = (A + B + C) * D
If Jieguo = 24 Then
ResultExpression = "(" & A & "+" & B & "+" & C & ")*" & D & "=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 23
For i = 1 To 24
Call Kind(i)
Jieguo = (A + B + C) / D
If Jieguo = 24 Then
ResultExpression = "(" & A & "+" & B & "+" & C & ")/" & D & "=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 24
For i = 1 To 24
Call Kind(i)
Jieguo = (A + B - C) * D
If Jieguo = 24 Then
ResultExpression = "(" & A & "+" & B & "-" & C & ")*" & D & "=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 25
For i = 1 To 24
Call Kind(i)
Jieguo = A * (B + C) + D
If Jieguo = 24 Then
ResultExpression = A & "*(" & B & "+" & C & ")+" & D & "=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 26
For i = 1 To 24
Call Kind(i)
Jieguo = A * (B - C) + D
If Jieguo = 24 Then
ResultExpression = A & "*(" & B & "-" & C & ")+" & D & "=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 27
For i = 1 To 24
Call Kind(i)
Jieguo = A * (B + C) - D
If Jieguo = 24 Then
ResultExpression = A & "*(" & B & "+" & C & ")-" & D & "=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 28
For i = 1 To 24
Call Kind(i)
Jieguo = A * (B - C) - D
If Jieguo = 24 Then
ResultExpression = A & "*(" & B & "-" & C & ")-" & D & "=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 29
For i = 1 To 24
Call Kind(i)
Jieguo = A + (B + C) / D
If Jieguo = 24 Then
ResultExpression = A & "+(" & B & "+" & C & ")/" & D & "=24"
Num = True
lresult.Caption = ResultExpression
Exit For
End If
Next i
Case 30
ResultExpression = "无解"
Num = True
lresult.Caption = ResultExpression
End Select
If Num = True Then Exit For
Next j
End Sub
Private Sub cmdExit_Click()
End
End Sub
Private Sub cmdMake_Click()
Randomize
NumberA = Int(Rnd * 10) + 1
NumberB = Int(Rnd * 10) + 1
NumberC = Int(Rnd * 10) + 1
NumberD = Int(Rnd * 10) + 1
lNumberA.Caption = NumberA
lNumberB.Caption = NumberB
lNumberC.Caption = NumberC
lNumberD.Caption = NumberD
lresult.Caption = "请按求解键!"
cmdDo.Enabled = True
Num = False
End Sub
Private Sub Form_Load()
cmdDo.Enabled = False
t.Enabled = False
lresult.Caption = "请按出题键!"
Num = False
End Sub