下面是引用sa957633於2006-07-12 10:01發表的 句子排列問題...贈200點:
原文:
輕度颱風碧利斯外圍環流已逐漸威脅台灣海域,並逼近台灣陸地。中央氣象局今天凌晨二時半,針對台灣東北、東南部海面、巴士海峽發布海上颱風警報,預計今天白天就會發布陸上颱風警報。氣象局說,台灣地區最怕西南氣流遇到低壓帶,有時隨著低壓帶一路往北延伸,下雨區域也會由南到北一路擴展。
---------------------------------------------------------------------------------------------------------------
經過程式斷句評分如下:
輕度颱風碧利斯外圍環流已逐漸威脅台灣海域,6分
.......
我把整個文章分成九段, 分別以文字一~九代表每段文章,
再以(n)代表該段所佔的分數, [n]代表該段的字數,
規則應該如下:
1. 先依分數最高到最低排序, 原順序
一(6)[21], 二(2)[8], 三(5)[13], 四(6)[26], 五(6)[17], 六(2)[5], 七(4)[16], 八(3)[14], 九(3)[15]
排列後為(其順序以原文章順序為第二優先條件)
一(6)[21], 四(6)[26], 五(6)[17], 三(5)[13], 七(4)[16], 八(3)[14], 九(3)[15], 二(2)[8], 六(2)[5]
2. 取出符合文字長度的段落, 則得到以下結果 (21 + 26 + 17 + 13 = 77 >= 75)
一(6)[21], 四(6)[26], 五(6)[17], 三(5)[13]
3. 再將取得的字串依原順序組合成以下順序, 即為結果
一(6)[21], 三(5)[13], 四(6)[26], 五(6)[17]
程式撰寫方式, 建議以陣列(或資料表欄位)分別記錄每個段落的順序/字數/分數,
1. 先依分數及段落排序
2. 計算符合75字的段落
3. 將符合的資料, 依段落順序排序後之結果即為所求.
希望這是你要的~ ^^