用C语言编写,有一个一维数组,内放10个学生成绩。写一个函数,当主函数调用此函数后,能求出平均分,最高分和最低分
时间: 2024-12-24 09:40:19 浏览: 2
通用函数按一维数组处理-C语言入门教程(1)
在C语言中,你可以创建一个函数来计算一维数组的成绩统计信息,如平均分、最高分和最低分。首先,你需要声明并初始化一个包含10个成绩的数组,然后定义一个结构体或者联合体存放这些信息,最后编写函数处理这些计算。
```c
#include <stdio.h>
// 假设我们有结构体来存储单个学生的信息
typedef struct {
int score;
int index; // 学生在数组中的索引,用于找出最高分和最低分对应的元素
} Student;
// 函数来计算平均分、最高分和最低分
void calculate_scores(int scores[], int size) {
float total = 0.0;
Student max_score = {scores[0], 0};
Student min_score = {scores[0], 0};
for (int i = 0; i < size; i++) {
total += scores[i]; // 累加总分数
if (scores[i] > max_score.score) {
max_score.score = scores[i];
max_score.index = i;
}
if (scores[i] < min_score.score) {
min_score.score = scores[i];
min_score.index = i;
}
}
float avg_score = total / size; // 计算平均分
printf("平均分: %.2f\n", avg_score);
printf("最高分: %d, 来自第%d个学生\n", max_score.score, max_score.index + 1);
printf("最低分: %d, 来自第%d个学生\n", min_score.score, min_score.index + 1);
}
// 主函数
int main() {
int scores[] = {85, 92, 78, 99, 88, 76, 94, 81, 87, 91}; // 示例成绩数组
int size = sizeof(scores) / sizeof(scores[0]);
calculate_scores(scores, size);
return 0;
}
```
阅读全文