编写一个函数int fun(float s[],int n),用于计算高于平均分的人数,并作为函数值返回,其中数组s中存放n位学生的成绩。再编写一个主函数,从键盘输入一批分数(用-1来结束输入),调用fun函数计算并输出高于平均分的人数。
时间: 2024-12-21 17:27:06 浏览: 23
首先,我们来定义`fun`函数,它接受一个浮点数数组`s`和一个整数`n`作为参数。这个函数会计算所有学生的平均分,然后遍历数组找出高于平均分的学生数量。
```cpp
double calculate_average(float s[], int n) {
double sum = 0;
for (int i = 0; i < n; i++) {
sum += s[i];
}
return sum / n;
}
int count_students_above_average(float s[], int n) {
double average = calculate_average(s, n);
int count = 0;
for (int i = 0; i < n && s[i] > average; i++) {
count++;
}
return count;
}
```
接下来,我们需要编写主函数`main()`,从用户那里获取输入的分数数组,调用`count_students_above_average`函数,然后输出结果:
```cpp
int main() {
float scores[100]; // 假设最多有100个学生
int n = 0;
float input;
while (true) {
scanf("%f", &input);
if (input == -1)
break; // 输入-1表示结束
scores[n++] = input;
}
int above_average_count = count_students_above_average(scores, n);
printf("高于平均分的人数是: %d\n", above_average_count);
return 0;
}
```
在这个程序中,用户可以持续输入分数直到输入-1为止。一旦输入-1,主函数会停止输入,计算平均分并找出高于平均分的学生人数。
阅读全文