⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dafen.txt

📁 给定数量的评委和选手
💻 TXT
字号:
程序源代码如下:

Public n As Integer
Public gszh As Integer
Public m As Integer

Private Sub exitcmd_Click()
  '单击结束
  End
End Sub

Private Sub Form_Load()
 '设置按钮的可用和不可用
 pwnumcmd.Enabled = True
 exitcmd.Enabled = True
 xsnumcmd.Enabled = False
 pwdfcmd.Enabled = False
 Text1.Text = ""
End Sub

Private Sub pwdfcmd_Click()
 pwnumcmd.Enabled = False
 exitcmd.Enabled = True
 xsnumcmd.Enabled = False
 Static number() As Single
 Dim xszf() As Single
 Dim xsname() As String
 ReDim xsname(m)
 ReDim xszf(m)
 ReDim number(n)
 Dim msg As String
 Dim msgtitle As String
For k = 1 To m
  xsname(k) = InputBox("请输入选手姓名")
  msg = "请按序输入评委的打分"
  msgtitle = "评委打分"
 
  '打印评委对选手的得分情况
  Text1.Text = Text1.Text & xsname(k) & "得分情况:" & Chr(13) & Chr(10) & Chr(13) & Chr(10)
  '列出每位评委给选手的打分情况
  For i = 1 To n
    number(i) = Val(InputBox(msg, msgtitle))
    Text1.Text = Text1.Text & "第 " & i & "位评委打分为: " & number(i) & Chr(13) & Chr(10)
  Next i

  '对选手按高到低进行排序并打印
   For i = n To 2 Step -1
     For j = 1 To i - 1
     If number(j) > number(j + 1) Then
       t = number(j + 1)
       number(j + 1) = number(j)
       number(j) = t
     End If
    Next j
   Next i
  Text1.Text = Text1.Text & "去掉最低分:" & number(1) & Chr(13) & Chr(10)
  Text1.Text = Text1.Text & "去掉最高分:" & number(n) & Chr(13) & Chr(10)

'下面计算选手的总得分和平均得分
  Sum = 0
  For i = 2 To n - 1
    Sum = Sum + number(i)
  Next i
    Text1.Text = Text1.Text & "选手" & xsname(k) & "的总得分为:" & Sum & Chr(13) & Chr(10)
    Text1.Text = Text1.Text & "选手" & xsname(k) & "平均得分为:" & Sum / (n - 2) & Chr(13) & Chr(10) & Chr(13) & Chr(10)
    xszf(k) = Sum
   If k < m Then
    MsgBox ("本次成绩输入完毕,请输入下一个选手姓名和得分")
   End If
Next k
 
 
 For i = m To 2 Step -1
   For j = 1 To i - 1
    If xszf(j) > xszf(j + 1) Then
       t = xszf(j + 1)
       sname = xsname(j + 1)
       xszf(j + 1) = xszf(j)
       xsname(j + 1) = xsname(j)
       xszf(j) = t
       xsname(j) = sname
    End If
   Next j
 Next i
 
 Text1.Text = Text1.Text & "选手名次如下:" & Chr(13) & Chr(10) & Chr(13) & Chr(10)
 For i = 1 To m
  Text1.Text = Text1.Text & "第" & i & "名:" & xsname(m - i + 1) & "得分为: " & xszf(m - i + 1) & Chr(13) & Chr(10)
 Next i
 pwdfcmd.Enabled = False
 MsgBox ("输入完毕,请查看选手得分和排名")
End Sub

Private Sub pwnumcmd_Click()
 '输入评委的数量
 Dim pwsl As String
 Dim tjjl As String
 pwsl = "评委数量不得少于3人"
 tjjl = MsgBox(pwsl, vbOKOnly, "提示信息")
  Do
   n = Val(InputBox("请输入评委的数量:"))
   If n < 3 Then
     MsgBox ("评委不得少于三人")
   End If
   If tjjl = vbCancel Then
     Exit Sub
   End If
  Loop Until n > 2
  Text1.Text = "本次大赛共有" & n & "名评委;"
  xsnumcmd.Enabled = True
End Sub

Private Sub startcmd_Click()
  Text1.Text = ""
  pwnumcmd.Enabled = True
End Sub

Private Sub xsnumcmd_Click()
   m = Val(InputBox("请输入选手的数量:"))
   If m < 1 Then
    MsgBox ("输入有误,最少要有一位选手,请重新输入")
    Exit Sub
   End If
   Text1.Text = Text1.Text & m & "名" & "选手。" & Chr(13) & Chr(10) & Chr(13) & Chr(10) & Chr(13) & Chr(10)
   pwdfcmd.Enabled = True
   xsnumcmd.Enabled = False
   pwnumcmd.Enabled = False
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -