已知学生的记录由学号和学习成绩构成, N 名学生的数据已存入 a 结构体数组中。请编写函数 fun ,函数的能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。
时间: 2024-09-13 09:16:07 浏览: 67
在 C 语言中,你可以创建一个结构体 `Student` 来表示学生记录,包含学号 `id` 和学习成绩 `score`。然后,你可以定义一个名为 `fun` 的函数,它接受一个指向 `Student` 类型数组的指针和数组的大小作为参数。为了找到成绩最低的学生,你可以遍历整个数组,同时跟踪当前最低分数和对应的学号。
```c
#include <stdio.h>
// 定义学生结构体
typedef struct {
int id;
float score;
} Student;
// 函数声明
void findLowestScore(Student* arr, int n, Student* result);
int main() {
// 初始化数组和元素数量
Student students[] = { {1, 85}, {2, 90}, {3, 75}, {4, 60}, {5, 80} }; // 示例数据
int n = sizeof(students) / sizeof(students[0]);
// 调用函数并获取结果
Student lowestScore; // 结果变量
findLowestScore(students, n, &lowestScore);
// 输出最低分学生的记录
printf("最低分学生记录: 学号 %d, 成绩 %.2f\n", lowestScore.id, lowestScore.score);
return 0;
}
// 实现查找函数
void findLowestScore(Student* arr, int n, Student* result) {
*result = arr[0]; // 假设第一个学生为初始最低分
for (int i = 1; i < n; i++) {
if (arr[i].score < (*result).score) {
*result = arr[i]; // 更新最低分
}
}
}
```
阅读全文