用C语言求平均得分去掉最高分和最低分
时间: 2024-10-17 22:09:35 浏览: 76
在C语言中,如果你想计算一组分数的平均值,并且在这个过程中去除最高分和最低分,可以按照以下步骤操作:
1. 定义数组存储分数,假设我们有5个分数。
2. 初始化变量`n`表示数组长度、`sum`用于累加所有分数、`max`和`min`分别记录当前找到的最大和最小分数。
3. 遍历数组,将每个元素添加到`sum`中,同时更新`max`和`min`。
4. 如果遍历完后`n > 2`,说明要去掉两个极端值,此时需要再遍历一次数组,跳过最大和最小的那两个数。
5. 计算平均值,即`(sum - (max + min)) / (n - 2)`。
以下是一个简单的示例代码片段:
```c
#include <stdio.h>
#define ARRAY_SIZE 5
int main() {
int scores[ARRAY_SIZE] = {80, 90, 75, 85, 95}; // 假设的分数数组
int n = sizeof(scores) / sizeof(scores[0]);
int sum = 0;
int max = scores[0], min = scores[0];
for (int i = 0; i < n; i++) {
sum += scores[i];
if (scores[i] > max) {
max = scores[i];
} else if (scores[i] < min) {
min = scores[i];
}
}
// 去掉最高分和最低分
if (n > 2) {
for (int i = 0; i < n; i++) {
if (i != 0 && i != n - 1) { // 跳过第一个和最后一个
sum -= scores[i];
}
}
}
double average = (double)(sum) / (n - 2); // 计算平均值并转换为浮点数
printf("去掉最高分和最低分后的平均分为: %.2f\n", average);
return 0;
}
```
阅读全文