有10名学生的英语和计算机成绩,编写VB程序求出英语和计算机最高分成绩的姓名

这是我的代码,最主要是后半部分求名字解决不了,望大神相助~OptionExplicitPrivateSubCommand1_Click(IndexAsInteger)Co... 这是我的代码,最主要是后半部分求名字解决不了,望大神相助~

Option Explicit

Private Sub Command1_Click(Index As Integer)
Const count = 10
Dim stu(1 To 10, 1 To 3)
Dim i, j, max, min As Integer
Dim m, n As Integer

For i = 1 To count
stu(i, 1) = InputBox("请输入第" & i & "个同学的名字")
For j = 1 To 2
stu(i, j + 1) = Val(InputBox("请输入第" & i & "个同学的第" & j & "门课成绩"))
Next j
Next i

Print "以下为学生的成绩信息:"
For i = 1 To count
For j = 1 To 3
Print stu(i, j);
Next j
Print
Next i

max = stu(1, 2)
If stu(i, 2) > stu(1, 2) Then
max = stu(i, 2)
End If
m = i
Print "英语最高分是:" & stu(m, 1)

max = stu(1, 3)
If stu(i, 3) > stu(1, 3) Then
max = stu(i, 3)
End If
n = i
Print "计算机最高分是:" & stu(n, 1)

End Sub
展开
 我来答
信心安J
2013-12-07 · TA获得超过402个赞
知道小有建树答主
回答量:787
采纳率:0%
帮助的人:723万
展开全部

刚才的那位,无法处理最高分并列情况,因此需要改进如下:

Option Explicit

Private Sub Command1_Click()
    Const count = 10
    Dim stu(1 To 10, 1 To 3)
    Dim i, j, max, min As Integer
    Dim maxName As String
    Dim m, n As Integer
    
    For i = 1 To count
        stu(i, 1) = InputBox("请输入第" & i & "个同学的名字")
        For j = 1 To 2
            stu(i, j + 1) = Val(InputBox("请输入第" & i & "个同学的第" & j & "门课成绩"))
        Next j
    Next i
    
    Print "以下为学生的成绩信息:"
    For i = 1 To count
        For j = 1 To 3
            Print stu(i, j);
        Next j
        Print
    Next i
    
    For i = 1 To count
        If stu(i, 2) >= stu(1, 2) Then max = stu(i, 2)           '选出最高分
    Next
    For i = 1 To count
        If stu(i, 2) = max Then Print "英语最高分是:"; stu(i, 1), stu(i, 2) '如果是最高分,就打印
    Next
    
    For i = 1 To count
        If stu(i, 3) >= stu(1, 3) Then max = stu(i, 3)
    Next
    For i = 1 To count
        If stu(i, 3) = max Then Print "计算机最高分是:"; stu(i, 1), stu(i, 3)
    Next
End Sub
简单赢了
2013-12-07
知道答主
回答量:2
采纳率:0%
帮助的人:2826
展开全部
Option Explicit

Private Sub Command1_Click()
Const count = 10
Dim stu(1 To 10, 1 To 3)
Dim i, j, max, min As Integer
Dim m, n As Integer

For i = 1 To count
stu(i, 1) = InputBox("请输入第" & i & "个同学的名字")
For j = 1 To 2
stu(i, j + 1) = Val(InputBox("请输入第" & i & "个同学的第" & j & "门课成绩"))
Next j
Next i

Print "以下为学生的成绩信息:"
For i = 1 To count
For j = 1 To 3
Print stu(i, j);
Next j
Print
Next i

max = stu(1, 2)
m = 1
For i = 2 To count
If stu(i, 2) > max Then
max = stu(i, 2)
m = i
End If
Next i
Print "英语最高分是:" & stu(m, 1) & " " & stu(m, 2)

max = stu(1, 3)
n = 1
For i = 2 To count
If stu(i, 3) > max Then
max = stu(i, 3)
n = i
End If
Next i
Print "计算机最高分是:" & stu(n, 1) & " " & stu(n, 3)

End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式