小 A 参加了校园十佳歌手比赛,5 个评委给他打分 ( 百分制 ),请你帮忙编写程序,去除一个最高分和一个最低分,求小 A 的平均得分是多少,保留两位小数。c++
时间: 2024-09-06 07:07:57 浏览: 23
当你需要在 C++ 中计算小 A 平均分,可以使用数组存储评委的分数,然后遍历数组找出最高分和最低分并移除它们,最后对剩余的分数求平均值。这里是一个简单的示例代码:
```cpp
#include <iostream>
#include <algorithm> // 包含 sort 函数
double calculateAverage(int scores[], int size) {
if (size < 2) { // 确保有至少两个评分
std::cout << "至少需要两个评分才能计算平均分。\n";
return 0;
}
// 对分数进行排序
std::sort(scores, scores + size);
// 移除最高分和最低分
double sum = 0;
for (int i = 1; i < size - 1; i++) { // 从第二个到倒数第二个
sum += scores[i];
}
// 计算平均分并保留两位小数
double average = static_cast<double>(sum) / (size - 2);
return std::round(average * 100) / 100.0; // 四舍五入至两位小数
}
int main() {
int scores[5] = {90, 85, 95, 78, 92}; // 假设这是小 A 的五个评委分数
int size = sizeof(scores) / sizeof(scores[0]);
double averageScore = calculateAverage(scores, size);
std::cout << "去掉最高分和最低分后的平均得分为: " << averageScore << "%\n";
return 0;
}
```
运行这个程序,它会计算并打印出小 A 的平均得分,注意实际运行时,你需要提供小 A 各位评委的真实分数。