[問題] 開檔讀學號成績做排序

看板C_and_CPP (C/C++)作者 (Genius?)時間16年前 (2009/12/15 16:28), 編輯推噓2(207)
留言9則, 3人參與, 最新討論串1/1
C語言 我是用 Dev-C++寫 從.txt中讀入學號以及成績 大概類似下面這樣 aaa 100 90 0 0 bbb 100 100 90 ccc 100 100 90 讀進來後再做排序以及總平均和名次 我的想法是用 structure 配合 atoi 和 strcpy , strtok 可是在計算平均值 total/count 時發現count次數不對 一個一個印出來看 發現是有些會印出 \n 或 <null> 而有的再印出 \n 時會count++ 有的不會 讓我不知道該怎麼辦 = =" 想請版上的大大幫忙~ 謝謝 下面是部分的code http://codepad.org/7pw4sK9g -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.195.203

12/15 17:50, , 1F
判斷是否為\n or null 是的話就count-- 最簡單的方法..
12/15 17:50, 1F

12/15 17:52, , 2F
但是有的讀到\n的並沒有count++壓@@
12/15 17:52, 2F

12/15 18:40, , 3F
這作業..似曾相似
12/15 18:40, 3F

12/15 19:36, , 4F
這作業我做過...雖然方法不同 剛剛看了一下你的程式
12/15 19:36, 4F

12/15 19:36, , 5F
你讀成績的strtok除了去掉\t以外還有一個\n
12/15 19:36, 5F

12/15 19:37, , 6F
然後加上\n發現 還是錯的...因為每行都還讀到一個NULL..
12/15 19:37, 6F

12/15 19:37, , 7F
這我不知道怎麼解決...我大概會直接每行的count都-1吧
12/15 19:37, 7F

12/15 19:40, , 8F
那就再加一個判斷是否為一筆資料的結束 是的話再--
12/15 19:40, 8F

12/15 19:41, , 9F
不過我用的input是去年的,如果有不一樣就自己看情況囉
12/15 19:41, 9F
文章代碼(AID): #1B9qYlIs (C_and_CPP)
文章代碼(AID): #1B9qYlIs (C_and_CPP)