瀏覽單個文章
kiten
*停權中*
 
kiten的大頭照
 

加入日期: Apr 2005
文章: 17
引用:
作者kurt66
用C 是否寫的出來呢

我考試要用什麼AEGOXX 我不懂


原題目:
A B兩各檔案 A裡面有N各數字 B裡面有M的數字

如何 合併 一各檔案 C 再由小至大排序

有大大可以解答嗎
如果不限語言及開發工具我這裡提供python程式
(手中沒工具可能有寫錯)

請用任何文字編輯器照著打,如果有錯請自行更正,另外所有的for迴圈區塊請務必縮排,畫面上我無法顯示縮排後的結果

檔名為:mergesort.py
執行方式: python mergesort.py

# 開啟檔案A,B為讀取,C為寫入
A = r"A"
B = r"B"
C = r"C"
fileA = open(A,'r')
fileB = open(B,'r')
fileC = open(C,'w')
#將檔案A及B全部讀入到listA及listB(list若不懂當成陣列思考好了)
listA = fileA.readlines()
listB = fileB.readlines()

# 宣告最後的結果為listC
listC = []
#將listA及listB由字串轉成數值
for idxA in range(len(listA)):
#如果有Enter將\r及\n變成空字串
listA[idxA] = listA[idxA].replace('\r','')
listA[idxA] = listA[idxA].replace('\n','')
#將字串轉成數值,如果不是int請自行取代成浮點數函數
listA[idxA] = int(listA[idxA])
#將數值存入listC
listC.append(listA[idxA])

for idxB in range(len(listB)):
#如果有Enter將\r及\n變成空字串
listB[idxB] = listB[idxB].replace('\r','')
listB[idxB] = listB[idxB].replace('\n','')
#將字串轉成數值,如果不是int請自行取代成浮點數函數
listB[idxB] = int(listB[idxB])
#將數值存入listC
listC.append(listB[idxB])

#將listC排序之
listC.sort()

#將排序後的結果存入檔案C
for idxC in range(len(listC)):
#將數值資料轉成文字,並加上Enter
fileC.write(str(listC[idxC]) + '\n')

#關閉所有檔案
flieA.close()
fileB.close()
fileC.close()
舊 2005-10-19, 07:56 PM #14
回應時引用此文章
kiten離線中