2012年11月20日 星期二

排名順序


內容 : 正體->简体 
考試成績出爐了,大家開始討論自己的分數高低
一個接著一個參與討論,新加入的那個人,想要知道自己目前排名是多少
但是太多人了,導致沒辦法一時得到他的排名
大家開始請求小光這個答案,
不過小光非常討厭排名,一點都不想幫忙
現在就交給你了
輸入說明 :
每組輸入的第一行有一個數字N(1≦N≦10,0000),
代表接下來會有N個人陸續與討論,接下來會有N行,
代表接下來陸續加入的人的成績M, (1≦M≦N)
而且每個人的成績都不會重複
輸出說明 :
對於已經知道的成績,請陸續對每個加入的輸出他的排名
範例輸入 :help
1
5
2
範例輸出 :
5

3 則留言:

  1. Private Sub Form_Load()
    Me.Hide
    Open App.Path & "\in.txt" For Input As #1
    Open App.Path & "\out.txt" For Output As #2
    Input #1, mycount
    For i = 1 To mycount
    Input #1, temp
    List1.AddItem temp - 100000
    For ii = 0 To List1.ListCount - 1
    If Val(List1.List(ii)) + 100000 = temp Then Print #2, ii + 1
    Next
    Next
    Close #2
    Close #1
    End
    End Sub

    回覆刪除
  2. Dim z() As Integer
    Private Sub Form_Load()
    Me.Hide
    Open App.Path & "\in.txt" For Input As #1
    Open App.Path & "\out.txt" For Output As #2
    Input #1, n
    ReDim z(n - 1)
    For i = 0 To n - 1
    Input #1, z(i)
    nn = z(i)
    y = y + 1
    For j = 0 To y
    For k = j To y - 1
    If z(j) < z(k) Then
    a = z(j)
    z(j) = z(k)
    z(k) = a
    End If
    Next
    Next
    For p = 0 To y - 1
    If nn = z(p) Then Print #2, p + 1
    Next
    Next
    Close #2
    Close #1
    End
    End Sub

    回覆刪除
  3. Dim a(), r As Integer
    Private Sub Form_Load()
    Me.Hide
    Open App.Path & "\in.txt" For Input As #1
    Open App.Path & "\out.txt" For Output As #2
    Input #1, n
    ReDim a(Val(n))
    For i = 1 To Val(n)
    Input #1, x
    a(i) = Val(x): r = i
    For j = 1 To i
    If a(i) > a(j) Then r = r - 1
    Next j
    Print #2, r
    Next i
    Close #2
    Close #1
    End
    End Sub

    回覆刪除