编写float fun(float array[],int n),在fun函数中输出最高分以及得最高分的人数,返回学生的平均成绩。
时间: 2023-06-25 16:02:20 浏览: 81
下面是一个可能的解决方案:
```c
#include <stdio.h>
float fun(float array[], int n)
{
float sum = 0.0, max = array[0];
int count = 1;
for (int i = 0; i < n; i++)
{
sum += array[i];
if (array[i] > max)
{
max = array[i];
count = 1;
}
else if (array[i] == max)
{
count++;
}
}
printf("最高分为%.2f,有%d个人得到最高分。\n", max, count);
return sum / n;
}
int main()
{
float scores[] = { 76.5, 89.0, 95.5, 68.0, 95.5, 71.5 };
int n = sizeof(scores) / sizeof(float);
float avg = fun(scores, n);
printf("平均成绩为%.2f。\n", avg);
return 0;
}
```
该程序定义了一个名为 `fun` 的函数,它接受一个 `float` 数组和一个整数作为参数,并返回一个 `float` 值。在函数内部,我们遍历数组,计算出所有成绩的总和以及最高分和最高分的人数。最后,我们向控制台输出最高分和最高分的人数,并返回平均成绩。
在 `main` 函数中,我们定义一个 `float` 数组,并使用 `sizeof` 运算符计算出数组的长度。然后,我们调用 `fun` 函数,并将其结果存储在一个名为 `avg` 的变量中。最后,我们向控制台输出平均成绩。
阅读全文