c++解答:在歌手大奖赛中有10名评委打分,分数采用百分制,歌手的最后得分是:从10位评委的评分中,去掉一个最高分去掉一个最低分,统计其总分,并除以8,试编程计算一个歌手的最后得分。
时间: 2024-02-21 10:56:50 浏览: 21
以下是使用 C++ 语言实现的代码:
```cpp
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int scores[10];
int total = 0;
cout << "请输入10位评委的评分:" << endl;
// 输入10位评委的评分
for (int i = 0; i < 10; i++) {
cin >> scores[i];
}
// 去掉一个最高分和一个最低分
sort(scores, scores + 10);
for (int i = 1; i < 9; i++) {
total += scores[i];
}
// 统计总分并输出得分
double final_score = total / 8.0;
cout << "歌手的最终得分为:" << final_score << endl;
return 0;
}
```
在上面的代码中,我们首先定义一个包含10个元素的整型数组来保存评委的评分。然后,使用for循环输入10位评委的评分。接着,使用sort函数将评分从小到大排序,并去掉一个最高分和一个最低分。最后,统计总分并除以8,输出得分即可。
注意:这个程序假设输入的评分都是合法的,没有进行错误处理。
相关问题
c++在歌手大奖赛中有10名评委打分,分数采用百分制,歌手的最后得分是:从10位评委的评分中,去掉一个最高分去掉一个最低分, 统计其总分,并除以8,试编程计算一个歌手的最后得分。
下面是使用 C++ 编写的程序,可以计算一个歌手的得分:
```c++
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int scores[10]; // 存储10名评委的评分
int sum = 0; // 所有评委的得分总和
// 输入10名评委的评分
for (int i = 0; i < 10; i++) {
cout << "请输入第" << i+1 << "位评委的评分:";
cin >> scores[i];
sum += scores[i];
}
// 去掉一个最高分和一个最低分
sort(scores, scores+10);
sum = sum - scores[0] - scores[9];
// 计算最终得分
float final_score = sum / 8.0;
cout << "该歌手的最终得分为:" << final_score << endl;
return 0;
}
```
程序首先定义一个数组 `scores`,用来存储10名评委的评分,然后使用 `for` 循环依次输入每个评委的评分,并将评分累加到 `sum` 变量中。
接下来,程序使用 `sort` 函数对评分数组进行排序,然后去掉一个最高分和一个最低分,最后计算最终得分并输出。注意,计算最终得分时需要将除数 `8.0` 定义为浮点数,否则得到的结果会被截断为整数。
编写C++程序,在歌手大奖赛中,输入10名评委为某选手的打分成绩,去掉一个最高分,去掉一个最低分,求该选手最后得分。
好的,以下是我为您编写的 C++ 程序,希望能够帮到您:
```cpp
#include <iostream>
#include <algorithm> // 用于排序
using namespace std;
int main() {
int scores[10]; // 存放分数的数组
int sum = 0; // 总分
int maxScore = -1; // 最高分
int minScore = 101; // 最低分
// 输入10个评委的打分
cout << "请输入10名评委为该选手的打分成绩:" << endl;
for (int i = 0; i < 10; i++) {
cin >> scores[i];
sum += scores[i]; // 累加总分
// 更新最高分和最低分
maxScore = max(maxScore, scores[i]);
minScore = min(minScore, scores[i]);
}
// 去掉一个最高分和一个最低分
sum -= maxScore;
sum -= minScore;
// 输出最后得分
double finalScore = sum / 8.0; // 注意要除以8.0,而不是8
cout << "该选手最后得分为:" << finalScore << endl;
return 0;
}
```
程序说明:
1. 首先定义了一个长度为10的整型数组 `scores`,用于存放10个评委的打分成绩。
2. 接着输入10个评委的打分成绩,并且累加总分。同时,使用 `max` 和 `min` 函数更新最高分和最低分。
3. 去掉一个最高分和一个最低分,即从总分中减去最高分和最低分。
4. 最后输出最后得分,计算方法为:总分除以8。注意要除以8.0,而不是8,因为我们需要得到一个浮点数。