vb编写应用程序输入若干学生一门课程的成绩,统计平均成绩,及格和不及格的人数

现在学的是循环语句,希望有循环语句的答案

        Dim a As Double = 0 '总成绩
        Dim b As Double = 0 '平均成绩
        Dim c As Integer = 0 '及格人数
        Dim d As Integer = 0 '不及格人数

        '定义一个变量,输入人数
        Dim i As Integer = InputBox("请输入人数:", "提示", 5)
        '循环填入每个人的成绩
        For j = 1 To i
            Dim k As Double = InputBox("请输入第 " & j.ToString.Trim & " 个学生的成绩:", "提示", 0)
            a = a + k '记录总成绩
            If k >= 60 Then '判断输入的成绩是否及格
                c = c + 1 '及格
            Else
                d = d + 1 '不及格
            End If
        Next
        b = a / i '计算平均成绩

        '输出结果
        MsgBox("总人数:" & i.ToString & vbCrLf & "总成绩:" & a.ToString & vbCrLf & "平均成绩:" & b.ToString & vbCrLf & "及格人数:" & c.ToString & vbCrLf & "不及格人数:" & d.ToString)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-04

我帮你写好了:

Dim A(1000) As Double, Rs As Long

Private Sub Command1_Click()

    A(Rs) = Val(Text1.Text)

    Rs = Rs + 1

    Label2.Caption = "总人数有:" & Rs

End Sub


Private Sub Command2_Click()

Dim L As Integer, B As Double, C As Double, D As Double, E As Double, F As Double

B = 0

For L = 0 To Rs '取出最大值

    If B < A(L) Then B = A(L)

Next

C = 100

For L = 0 To Rs '取出最小值

    If C > A(L) Then C = A(L)

Next

For L = 0 To Rs '将所有数相加

    D = D + A(L)

Next

For L = 0 To Rs '不及格人数统计

    If A(L) < 60 Then E = E + 1

Next

F = Rs - E

D = D / Rs '算出平均值


Label2.Caption = "总人数有:" & Rs & "平均分:" & Round(D, 2) & "最高分:" & B & "最低分" & C & "及格人数:" & F & "不及格人数:" & E




'MsgBox "平均分保留小数2位:" & Round(D, 2)


End Sub


本回答被网友采纳
相似回答