c语言编写程序,实现以下成绩处理功能: (1)输入10个成绩(整数类型,数组名记为a) ; (2)计算并输出最高分(记为Max)、最低分(记为Min)与成绩中值(记为Midd),其中成绩中 值为最高分与最低分的平均值(保留一位小数输出); (3)将Midd及以上的成绩归为A档,Midd以下的成绩归为B档,统计并输出A、B两档的人数。 要求最大值、最小值分别用函数max、min函数实现,其它功能在主函数中实现,max、min的结构如下: int max(int a[]) { //求数组a的最大值。 } int min(int a[]) { //求数组a的最小值。 } 运行示例:(要求输入输出按运行示例格式实现) 输入:88 59 50 74 60 99 75 90 68 70 输出:Max=99, Min=50, Midd=74.5, A=4, B=6
时间: 2023-12-14 16:37:00 浏览: 28
以下是代码实现:
```c
#include <stdio.h>
int max(int a[]) {
int max_val = a[0];
for (int i = 1; i < 10; i++) {
if (a[i] > max_val) {
max_val = a[i];
}
}
return max_val;
}
int min(int a[]) {
int min_val = a[0];
for (int i = 1; i < 10; i++) {
if (a[i] < min_val) {
min_val = a[i];
}
}
return min_val;
}
int main() {
int a[10];
int sum = 0;
for (int i = 0; i < 10; i++) {
scanf("%d", &a[i]);
sum += a[i];
}
int max_val = max(a);
int min_val = min(a);
float midd = (max_val + min_val) / 2.0;
printf("Max=%d, Min=%d, Midd=%.1f, ", max_val, min_val, midd);
int count_a = 0;
int count_b = 0;
for (int i = 0; i < 10; i++) {
if (a[i] >= midd) {
count_a++;
} else {
count_b++;
}
}
printf("A=%d, B=%d", count_a, count_b);
return 0;
}
```
运行结果:
```
88 59 50 74 60 99 75 90 68 70
Max=99, Min=50, Midd=74.5, A=4, B=6
```