编写C程序,有一个一维数组,内放5个学生的成绩(89 90 75 66 92.5),写一个函数,当主函数调用此函数后,能求出平均分、最高分和最低分。
时间: 2024-12-16 09:21:25 浏览: 10
为了编写一个C程序来计算学生成绩的一维数组的平均分、最高分和最低分,你可以创建一个名为`calculate_scores`的函数,它接受数组指针、数组长度作为参数。以下是实现这个功能的一个示例:
```c
#include <stdio.h>
// 函数声明,接收数组地址和长度
void calculate_scores(int* scores, int length);
// 主函数
int main() {
// 定义学生的成绩数组
int student_scores[] = {89, 90, 75, 66, 92.5};
int num_students = sizeof(student_scores) / sizeof(student_scores[0]);
// 调用计算函数
float average = 0.0;
int max_score = student_scores[0];
int min_score = student_scores[0];
calculate_scores(student_scores, num_students);
printf("平均分: %.2f\n", average);
printf("最高分: %d\n", max_score);
printf("最低分: %d\n", min_score);
return 0;
}
// 计算平均值、最高分和最低分的函数
void calculate_scores(int* scores, int length) {
for (int i = 0; i < length; i++) {
average += scores[i]; // 加入总分
if (scores[i] > max_score)
max_score = scores[i]; // 更新最大值
if (scores[i] < min_score)
min_score = scores[i]; // 更新最小值
}
average /= length; // 计算平均值
}
```
在这个程序中,我们首先在`main`函数中初始化了成绩数组,并通过`calculate_scores`函数来计算平均分、最高分和最低分。然后在`calculate_scores`函数内部遍历数组,累加分数并更新最大值和最小值。最后,在`main`函数里打印出结果。
阅读全文