用c语言编写float fun(float array[],int n),统计出若干个学生的平均成绩,最高分以及得最高分的人数
时间: 2023-06-09 17:03:38 浏览: 100
好的,根据您的要求,以下是使用C语言编写的计算平均分、最高分及人数的函数fun:
```c
void fun(float array[], int n, float *ave, float *max, int *count) {
int i;
*ave = 0.0f;
*max = array[0];
*count = 1;
for (i=0; i<n; i++) {
*ave += array[i];
if (array[i] > *max) {
*max = array[i];
*count = 1;
} else if (array[i] == *max) {
(*count)++;
}
}
*ave /= n;
}
```
这个函数的第一个参数是一个浮点型数组,表示每个学生的成绩,第二个参数是数组的长度,第三个参数是指针类型,表示平均分,第四个参数是指针类型,表示最高分,第五个参数是指针类型,表示得最高分的人数。
使用这个函数可以在主函数中调用:
```c
int main() {
float scores[] = {65.5f, 72.0f, 82.5f, 91.5f, 87.5f};
float ave, max;
int count;
fun(scores, 5, &ave, &max, &count);
printf("Average score: %.1f\n", ave);
printf("Highest score: %.1f\n", max);
printf("Number of students with the highest score: %d\n", count);
return 0;
}
```
这里使用了一个长度为5的成绩数组,可以换成任意长度的数组。最后输出平均分、最高分及得最高分的人数。
阅读全文