用C++写一个输入10个值,去掉最大和最小的两个数 求平均值
时间: 2024-03-17 08:43:14 浏览: 129
好的,下面是这个问题的 C++ 实现:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
const int kNumValues = 10; // 数值个数
vector<int> values(kNumValues);
for (int i = 0; i < kNumValues; i++) {
cin >> values[i];
}
sort(values.begin(), values.end()); // 排序
int sum = 0;
for (int i = 1; i < kNumValues - 1; i++) {
sum += values[i];
}
double average = sum * 1.0 / (kNumValues - 2); // 去掉最大值和最小值后的平均值
cout << average << endl;
return 0;
}
```
程序首先读入十个数值。然后将这些数值排序,去掉最大值和最小值,计算剩余数值的和,再除以总数减二,得到去掉最大值和最小值后的平均值。最后别忘了换行。
相关问题
输入十个数,去掉两个最大数,去掉两个最小数,输出剩下数平均值,C++
知道可以帮您解决这个问题。以下是 C++ 实现代码:
```
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int nums[10];
for (int i = 0; i < 10; i++) {
cin >> nums[i];
}
sort(nums, nums+10);
int sum = 0;
for (int i = 2; i < 8; i++) {
sum += nums[i];
}
cout << sum / 6 << endl;
return 0;
}
```
这段代码可以输入十个数,并通过排序后去掉两个最大数和两个最小数,最后计算剩下数的平均值并输出。
我希望这个回答对您有所帮助。
使用c++写一个程序,进行体操评分,依次输入7名评委所评分数,去除一个最高分和一个最低分,再算出平均分作为选手的得分。
在C++中,你可以创建一个简单的控制台应用程序来完成这个任务。下面是一个步骤指南以及相应的代码片段:
1. 首先,我们需要定义一个包含评委数量、分数数组和两个辅助变量(用于存储最高分和最低分)的数据结构。
```cpp
#include <iostream>
#include <vector>
struct JudgeScore {
int score;
};
```
2. 接着,创建一个函数来获取并处理评委的分数:
```cpp
std::vector<JudgeScore> getScores(int numJudges) {
std::vector<JudgeScore> scores(numJudges);
for (int i = 0; i < numJudges; ++i) {
std::cout << "请输入第 " << (i+1) << " 位评委的分数:";
std::cin >> scores[i].score;
}
return scores;
}
// 辅助函数来找出最大值和最小值
void findMinMax(std::vector<JudgeScore>& scores, int& minScore, int& maxScore) {
minScore = maxScore = scores[0].score;
for (const auto& score : scores) {
if (score.score < minScore) {
minScore = score.score;
} else if (score.score > maxScore) {
maxScore = score.score;
}
}
}
```
3. 计算去掉最高分和最低分后的平均分:
```cpp
double calculateAverageWithoutMinMax(const std::vector<JudgeScore>& scores, int minScore, int maxScore) {
double sum = 0;
for (const auto& score : scores) {
if (score.score != minScore && score.score != maxScore) {
sum += score.score;
}
}
return sum / (scores.size() - 2); // 注意这里是除以剩下的评委数减一
}
```
4. 主函数将所有功能整合起来:
```cpp
int main() {
int numJudges;
std::cout << "请输入评委人数:";
std::cin >> numJudges;
std::vector<JudgeScore> scores = getScores(numJudges);
int minScore, maxScore;
findMinMax(scores, minScore, maxScore);
double averageScore = calculateAverageWithoutMinMax(scores, minScore, maxScore);
std::cout << "选手最终得分为:" << averageScore << std::endl;
return 0;
}
```
现在你有了一个完整的C++程序,它会按照描述的要求计算体操选手的得分。运行时记得输入评委人数和分数。
阅读全文