c语言中去掉最高分和最低分
时间: 2023-09-24 21:00:46 浏览: 290
在C语言中去掉最高分和最低分,可以通过以下步骤实现:
1. 首先,定义一个包含所有学生成绩的数组,并为数组中的每个元素赋值。
2. 创建一个变量,用于存储最高分和最低分的索引。
3. 使用循环遍历数组,比较每个元素与当前最高分和最低分的值。
4. 如果找到更高的分数,更新最高分的索引。
5. 如果找到更低的分数,更新最低分的索引。
6. 循环结束后,可以根据最高分和最低分的索引删除对应的数组元素。
7. 最后,再次遍历数组,计算剩余分数的总和和平均值。
下面是一个示例代码:
```c
#include <stdio.h>
#define MAX_SIZE 100
int main() {
int scores[MAX_SIZE];
int num_scores;
int max_index, min_index;
int total_score = 0, average_score;
// 输入学生成绩数量
printf("请输入学生成绩的数量:");
scanf("%d", &num_scores);
// 输入学生成绩
printf("请输入学生成绩:\n");
for (int i = 0; i < num_scores; i++) {
scanf("%d", &scores[i]);
}
// 初始化最高分和最低分的索引为第一个元素
max_index = min_index = 0;
// 找到最高分和最低分的索引
for (int i = 1; i < num_scores; i++) {
if (scores[i] > scores[max_index]) {
max_index = i;
}
if (scores[i] < scores[min_index]) {
min_index = i;
}
}
// 删除最高分和最低分的元素(将其值设为0或其他特殊值)
scores[max_index] = scores[min_index] = 0;
// 计算剩余分数的总和
for (int i = 0; i < num_scores; i++) {
total_score += scores[i];
}
// 计算平均分
average_score = total_score / (num_scores - 2);
// 输出结果
printf("去掉最高分和最低分后的剩余分数总和为:%d\n", total_score);
printf("去掉最高分和最低分后的剩余分数平均值为:%d\n", average_score);
return 0;
}
```
这段代码可以接收输入的学生成绩,去掉最高分和最低分,然后计算剩余分数的总和和平均值,并将结果输出。
阅读全文