內容 :
從機器中,不斷地出現4個英文字母的單字,現在要你抄寫下來,
倘若這個單字已經出現過,則會使用編號上的號碼直接書寫
倘若這個單字沒有出現過,則會賦予單字一個新的號碼
每組新的測資,代表不同事件,請勿將其納入新的號碼
倘若這個單字已經出現過,則會使用編號上的號碼直接書寫
倘若這個單字沒有出現過,則會賦予單字一個新的號碼
每組新的測資,代表不同事件,請勿將其納入新的號碼
輸入說明 :
每組輸入的第一行 , 有一個數字 N (1≦N≦105),接下來會有瘋狂科學家講出的N行單字,每行由小寫字母a到z所構成的4字單字.
輸出說明 :
若這個字串之前已經出現過,則輸出號碼,若沒有則輸出它將被編寫的號碼.
範例輸入 :
5
eine
isis
zwei
drei
zwei
範例輸出 :
New! 1
New! 2
New! 3
New! 4
Old! 3
Private Sub Form_Load()
回覆刪除Dim x As Double
Dim z(100000) As String
Dim a As Boolean
a = True
Me.Hide
Open App.Path & "\in.txt" For Input As #1
Open App.Path & "\out.txt" For Output As #2
Input #1, x
For i = 1 To x
a = True
Input #1, y
z(i) = y
For j = 1 To i - 1
If y = z(j) Then
a = False
Print #2, "Old!" & j
Exit For
End If
Next
If a = True Then Print #2, "New!" & i
Next
Close
Close
End
End Sub
小冰好,
回覆刪除重複的字沒有新的號碼,那麼,再來的號碼會少一號嗎?
題目中是沒有說要不要跳過。
如果當成跳過的話,那你的程式就算是對的。
小心題意弄錯的話,花再多時間也不會對哦。
Private Sub Form_Load()
回覆刪除Dim yan() As String
Dim tf As Boolean
Me.Hide
Open App.Path & "\in.txt" For Input As #1
Open App.Path & "\out.txt" For Output As #2
Input #1, n
ReDim yan(n)
For i = 1 To Val(n)
Input #1, yan(i)
Next i
For i = 1 To Val(n)
tf = False
For j = 1 To i
If i <> j Then
If yan(i) = yan(j) Then
Print #2, "Old! " & j
tf = True
End If
End If
Next j
If tf = False Then Print #2, "New! " & i
Next i
Close #2
Close #1
End
End Sub