題目大意:輸入一首詩(多行,逗號分句,句號結束),按規則評分:
A:每句音節數 8~12 得 10 分。
B:第 1、3 句押韻(末兩字母相同)得 20 分;第 2、4 句押韻得 20 分。
C:第 1、3 句音節數相等得 10 分;第 2、4 句音節數相等得 10 分。
D:超過 4 句,每句扣 10 分。
E = A+B+C-D 總分。多測試用例。
',' 或 '.',切分單詞並標記句末。calcSyllable):substr(len-2)),大小寫敏感?代碼直接比較字符串,應區分大小寫。
while (cin >> word) {
if (word.back()==',' || word.back()=='.') {
string w = word.substr(0, word.size()-1);
sentence.push_back(w);
if (word.back()=='.') { /* 句末 */ }
} else sentence.push_back(word);
}
統計前 4 句(不足 4 句按實際)。計算 A/B/C/D/E 輸出。
O(總單詞數 × 平均長度),極小。
繁瑣模擬題。核心難點:(1) 輸入解析(逗號句號分隔、無空格情況);(2) 音節規則硬編碼;(3) 只評前 4 句,超出懲罰。代碼邏輯直觀,細節決定成敗。適合鍛鍊字符串處理與模擬能力。