今天有點無聊,拿樓主的問題用Python寫了個小程式。程式在Windows下的Python IDE (IDLE)用樓主的範例來測試沒有問題。
因為是隨手寫的程式,沒有註解,也沒有考慮一些例外狀況。至於如何改進這個程式或改寫成其他程式語言,就留給樓主當習題了。
代碼:
# -*- coding: big5 -*-
f = open('questions.txt','r')
for q in f:
a = {}
q = q.lstrip().rstrip('\n')
n = q.find('.')
if n == -1:
print '------'
continue
qn = q[0:n]
try:
int(qn)
except ValueError:
print '------'
continue
n = q.find(')')
if n == -1:
print '------'
continue
ca = q[n-1]
try:
int(ca)
except ValueError:
print '------'
continue
n2 = q.find('(1)',n+1)
if n2 == -1:
print '------'
continue
qt = q[n+2:n2]
n = q.find('(2)',n2+1)
if n == -1:
print '------'
continue
a['1'] = q[n2:n-2]
n2 = q.find('(3)',n+1)
if n2 == -1:
print '------'
continue
a['2'] = q[n:n2-2]
n = q.find('(4)',n2+1)
if n == -1:
print '------'
continue
a['3'] = q[n2:n-2]
a['4'] = q[n:-2]
print qn + '.(' + ca + ')' + qt + a[ca] + '。'
f.close()