C语言数组输入10个分数去掉最高分最低分,求平均值
时间: 2024-09-13 17:09:17 浏览: 101
在C语言中,处理这个需求通常涉及到输入、排序以及计算平均值。下面是一个简单的示例程序,假设用户输入10个整数分数,并通过循环处理最高分和最低分,最后计算并打印其余分数的平均值:
```c
#include <stdio.h>
// 函数声明
void input_scores(int scores[], int n);
double calculate_average(int scores[], int n);
int main() {
int scores[10]; // 存储分数的数组
int n;
// 输入10个分数
printf("请输入10个分数:\n");
input_scores(scores, 10);
// 排序(这里简化为冒泡排序,实际应用中可以用更高效的算法)
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9 - i; j++) {
if (scores[j] > scores[j + 1]) {
int temp = scores[j];
scores[j] = scores[j + 1];
scores[j + 1] = temp;
}
}
}
// 移除最高分和最低分,计算平均值
double average = calculate_average(scores + 1, 8); // 从第二个元素开始计算
printf("去除最高分和最低分后的平均分:%.2f\n", average);
return 0;
}
// 输入分数的函数
void input_scores(int scores[], int n) {
for (int i = 0; i < n; i++) {
scanf("%d", &scores[i]);
}
}
// 计算平均值的函数
double calculate_average(int scores[], int n) {
int sum = 0;
for (int i = 0; i < n; i++) {
sum += scores[i];
}
return (double) sum / n;
}
```
运行此程序后,用户将按照提示输入10个分数,程序会计算并显示去除最高分和最低分后的平均分。
阅读全文