發新話題

[問題] 遇到問題求解

遇到問題求解

要把成績要由低到高 除了成績 幾號也要跟著連動
最下面我用氣泡排序法
只是成績能動出來不過用MsgBox 不論怎麼嘗試,就是沒辦法把x號也跟著成績,連動由低到高.



Public Class Form1
    Dim high, h_num As Integer
    Dim min, k_num As Integer

    Dim A(40) As Integer
    Dim sum As Integer
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim i As Integer

        For i = 1 To 6
            A(i) = InputBox("請輸入第" & i & "號同學成績")
        Next i
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        sum = 0

        For i = 1 To 6
            sum = sum + A(i)
        Next i

        MsgBox("平均為" & (sum / 6))
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        high = A(1)
        h_num = 1

        For i = 1 To 6
            If A(i) > high Then
                high = A(i)
                h_num = i
            End If
        Next i

        MsgBox("最高分為第" & h_num & " 號,分數為" & high)
    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        min = A(1)
        k_num = 1

        For i = 1 To 6
            If A(i) < min Then
                min = A(i)
                k_num = i
            End If
        Next i

        MsgBox("最低分為第" & k_num & " 號,分數為" & min)
    End Sub

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        Dim num, score As Integer

        num = InputBox("請輸入號碼")
        score = InputBox("請輸入成績")
        A(num) = score

    End Sub

    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
        MsgBox("1號為" & A(1) & ", 2號為" & A(2) & ", 3號為" & A(3) & ", 4號為" & A(4) & ", 5號為" & A(5) & ", 6號為" & A(6))
    End Sub

    Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
        Dim tmp, i, j As Integer
        Dim B(40) As Integer


        For i = 1 To 6
            B(i) = A(i)
        Next

        For j = 1 To 6
            For i = 1 To 5
                If B(i) > B(i + 1) Then
                    tmp = B(i)
                    B(i) = B(i + 1)
                    B(i + 1) = tmp
                End If
            Next
        Next j
        MsgBox("1號為" & B(1) & ", 2號為" & B(2) & ", 3號為" & B(3) & ", 4號為" & B(4) & ", 5號為" & B(5) & ", 6號為" & B(6))
    End Sub
End Class

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。