首頁>Club>
5
回覆列表
  • 1 # 使用者9708519223311

    Private Sub Command1_Click()

    Dim a(1 To 10) As Integer

    For i = 1 To 10

    a(i) = Int(Rnd * 10)

    Print a(i);

    Next i

    Print

    "以上十隨機得出10個數

    For i = 1 To 9 "這裡開始是雙重迴圈

    For j = i + 1 To 10

    If a(i) > a(j) Then "如果前一個數大於後一個數則交換位置

    t = a(i): a(i) = a(j): a(j) = t

    End If

    Next j

    Print a(i);

    Next i

    Print a(i);End Sub

    I等於1時 就是拿第一位和第二位比較 比較大的的數排後面 然後比較第一位和第三位 For j = i + 1

    To 10 直到比較到最後一位

    i=2 時也是如此 迴圈9次就完成排序

    5 3 2 7

    i=1 時

    J=2時 3 5 2 7

    J=3時 2 5 3 7

    j=4時 2 5 3 7

    I=2時

    j=3時 2 3 5 7

  • 2 # 只玩亞瑟1

    展開全部

    Private Sub Command1_Click()

    Dim a(1 To 10) As Integer

    For i = 1 To 10

    a(i) = Int(Rnd * 10)

    Print a(i);

    Next i

    Print

    "以上十隨機得出10個數

    For i = 1 To 9 "這裡開始是雙重迴圈

    For j = i + 1 To 10

    If a(i) > a(j) Then "如果前一個數大於後一個數則交換位置

    t = a(i): a(i) = a(j): a(j) = t

    End If

    Next j

    Print a(i);

    Next i

    Print a(i);

    End Sub

    I等於1時 就是拿第一位和第二位比較 比較大的的數排後面 然後比較第一位和第三位 For j = i + 1

    To 10 直到比較到最後一位

    i=2 時也是如此 迴圈9次就完成排序

    5 3 2 7

    i=1 時

    J=2時 3 5 2 7

    J=3時 2 5 3 7

    j=4時 2 5 3 7

    I=2時

    j=3時 2 3 5 7

    擴充套件資料

    Private Sub Command1_Click()

    Dim a(10) As Integer

    Dim b As Integer

    Dim i As Integer

    Dim j As Integer

    Dim k As Integer

    For i = 1 To 10

    a(i) = Int(Rnd * 90 + 10)

    Print a(i);

    Next i

    Print

    For i = 1 To 9

    k = i

    For j = k + 1 To 10

    If a(j) < a(k) Then k = j

    Next j

    If a(i) > a(k) Then

    b = a(i)

    a(i) = a(k)

    a(k) = b

    End If

    Next i

    For i = 1 To 10

    Print a(i);

    Next i

    Print

    End Sub

    參考資料:百度百科 - 選擇法排序

  • 中秋節和大豐收的關聯?
  • 如何評價曼聯主教練穆里尼奧下課?