```cpp #include <iostream> #include <vector> #include <algorithm> // 确定获奖分数线和获奖人数的函数 void determineWinners(const std::vector<int>& scores) { std::vector<int> sortedScores = scores; std::sort(sortedScores.begin(), sortedScores.end(), std::greater<int>()); // 降序排序 int fifthScore = sortedScores[4]; // 第五名的分数 int winnerCount = 5; for (int i = 5; i < sortedScores.size(); ++i) { if (sortedScores[i] == fifthScore) { ++winnerCount; // 如果分数相同,增加获奖人数 } } std::cout << "获奖分数线: " << fifthScore << std::endl; std::cout << "获奖总人数: " << winnerCount << std::endl; } int main() { std::vector<int> scores = {85, 90, 78, 95, 88, 85, 92}; determineWinners(scores); return 0; } ``` 注意逻辑点: 1. 排序时要确保是降序排序。 2. 比较分数时要注意边界情况。 3. 处理多个并列第五名的情况要准确。 [2025-05-10 14:27:58 | AI写代码神器 | 310点数解答]