赛迪网 > IT技术 编程语言 > 文章
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

VB算24点

发布时间:2006.08.16 02:53     来源:plwww    作者:

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


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· VB程序员的FTP编程指南1.2-使用Windows的ftp (11-12) · VB程序员的FTP编程指南1.2-使用Windows的ftp (05-20)
· VB中各种数据类型转换函数 (08-05) · VB中各种数据类型转换函数 (03-13)
· 深夜随想 (11-08) · 深夜随想 (03-13)
· VB程序中处理随机事件 (09-11) · VB程序中处理随机事件 (10-13)
· VB中文件操作的两种方式 (03-08) · VB中文件操作的两种方式 (12-21)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
[政务][电信][金融][农业][制造业][中小企业]
[CIO][ERP][协同][IT管理][中间件][电子商务]
[政策][地方][专家][评估][辞典][博客][社区]
· 专题:一路畅通构想曲——让出行不再遭遇堵车
· CIO工作亲历:企业ERP选型不能忽视"选人关"
· 综述:信息化建设给中国监狱带来的各种变化
· 金融业风险管理和法规遵从有五点需考虑的因素
· 保险业CIO关注:该如何建立统一高效的CRM体系
· 调查显示:多数CIO对IT规划仍存在困惑和误解
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管