close
95學年度全國商科技藝競賽程式設計職類試題

二、括號配對


在本題中,題目會先給你一個包含小號( )及中括號[ ]的字串。當字串符合下列條件時我們稱它為正確的運算式:
1.該字串為一個空字串。
2.如果A為正確的運算式,則(A)及[A]都為正確的運算式。
3.如果A和B都為正確的運算式,則AB也為正確的運算式。

現在,請你寫一個程式,可以讀入這類字串,並檢查它們是否為正確的運算式。字串的最大長度為128個字元。

輸入規範
輸入檔案的第一列為正整數 n,表接下來有n個列待測資料。

輸出規範
檢查每列待測資料,如果正確輸出YES,否則輸出NO。

輸入範例(test2.txt)
3
([])
(([()])))
([()[]()])()

輸出範例(resul2.txt)
YES
NO
YES


解法:
Option Explicit
Private Sub Form_Activate()
   Dim I%, N%, sLine$
   Open "C:\test2.txt" For Input As #1
   Open "C:\result2.txt" For Output As #2
      Input #1, N
      For I = 1 To N
         Line Input #1, sLine
         Print IIf(IsBracketPair(sLine), "YES", "NO")
      Next
   Close #2
   Close #1
End Sub

Public Function IsBracketPair(ByVal sArg$) As Boolean
   Dim temp$
   Do While sArg <> ""
      temp = sArg
      sArg = Replace(sArg, "{}", "")
      sArg = Replace(sArg, "[]", "")
      sArg = Replace(sArg, "()", "")
      If sArg = temp Then Exit Do
   Loop
   IsBracketPair = IIf(sArg = "", True, False)
End Function

相關網址:http://tw.knowledge.yahoo.com/question/question?qid=1607041207703


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 chph 的頭像
    chph

    Afutseng's Blog

    chph 發表在 痞客邦 留言(0) 人氣()