用C语言指针写一串代码,有一个一维数组,内放10个学生成绩,写一个函数,当主函数调用此函数后,能求出平均分、最高分和最低分。
时间: 2024-12-08 21:24:54 浏览: 21
当然可以。以下是使用C语言指针编写的一个简单的示例,用于计算给定一维数组的平均分、最高分和最低分:
```c
#include <stdio.h>
// 定义结构体存放学生信息,包括成绩
typedef struct {
int score;
} Student;
// 函数声明,传入指向数组的指针以及数组长度
void calculate_stats(Student* arr, int size);
int main() {
// 初始化一个包含10个学生的数组
Student scores[10] = {85, 92, 78, 99, 88, 76, 94, 80, 91, 87};
int total_scores = 0; // 总分数
int max_score = scores[0]; // 最高分
int min_score = scores[0]; // 最低分
// 调用函数,计算并更新总分、最高分和最低分
calculate_stats(scores, sizeof(scores) / sizeof(scores[0]));
printf("平均分: %d\n", total_scores / 10);
printf("最高分: %d\n", max_score);
printf("最低分: %d\n", min_score);
return 0;
}
// 求平均分、最高分和最低分的函数
void calculate_stats(Student* arr, int size) {
for (int i = 0; i < size; i++) {
total_scores += arr[i].score; // 更新总分
if (arr[i].score > max_score) {
max_score = arr[i].score; // 如果当前分更高,则更新最高分
}
if (arr[i].score < min_score) {
min_score = arr[i].score; // 如果当前分更低,则更新最低分
}
}
}
```
在这个例子中,`calculate_stats` 函数接受一个指向学生数组的指针和数组大小作为参数,然后遍历数组,累加所有成绩,并找出最高分和最低分。
阅读全文