c语言编写函数计算若干学生成绩的平均分并统计不及格的人数,平均成绩由函数值返回,不及格人数通过对形参的操作返回
时间: 2025-01-04 16:41:46 浏览: 16
在C语言中,你可以通过定义一个函数来实现这个功能。假设我们有一个数组存放学生的成绩,函数名为`calculate_average_and_count_fails`,接收两个参数:成绩数组`scores`和数组长度`num_students`。下面是函数的基本结构:
```c
#include <stdio.h>
// 函数声明,返回值类型为double表示平均分,int表示不及格人数
double calculate_average_and_count_fails(int scores[], int num_students);
int main() {
int scores[] = {85, 90, 78, 65, 92}; // 示例成绩数组
int num_students = sizeof(scores) / sizeof(scores[0]); // 计算数组元素个数
double avg_score = calculate_average_and_count_fails(scores, num_students);
int fails_count = calculate_average_and_count_fails(scores, num_students); // 因为函数同时返回了两个值,这里需要分开获取
printf("Average score is: %.2f\n", avg_score);
printf("Number of students who failed: %d\n", fails_count);
return 0;
}
// 函数实现,计算平均分和不及格人数
double calculate_average_and_count_fails(int scores[], int num_students) {
double total = 0;
int fails = 0;
for (int i = 0; i < num_students; i++) {
total += scores[i];
if (scores[i] < 60) { // 我们通常认为60分为及格线
fails++;
}
}
double avg = total / num_students;
return avg; // 返回平均分
// 返回不及格人数,但因为函数声明只返回double类型,所以需要外部处理
return fails; // 或者选择返回整型
}
```
在上面的代码中,`calculate_average_and_count_fails`函数首先计算总分,然后遍历数组检查每门课的成绩是否低于及格线(60分),如果低于则计入不及格人数。最后,它将总分除以学生总数得到平均分,并可以选择性地返回不及格人数。
阅读全文