设计程序,已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数 fun,函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分
时间: 2024-12-13 21:19:49 浏览: 14
C语言程序设计-有一个一维数组score,内放10个学生的成绩,用一个函数来求平均成绩;
5星 · 资源好评率100%
设计这样的程序,我们可以创建一个名为`Student`的结构体,包含学号`id`和成绩`score`两个字段。然后,我们需要定义一个`fun`函数,该函数接受一个指向`Student`数组的指针以及数组的长度`N`作为输入参数。函数将遍历整个数组,比较每个学生的成绩,最后返回找到的最低分对应的学号。
```c
// 定义学生结构体
typedef struct {
int id;
float score;
} Student;
// 函数声明,查找并返回最低分学生的学号
int findLowestScore(Student* students, int N);
// 主函数示例
int main() {
// 初始化学生数组
Student students[] = { {1, 85}, {2, 78}, {3, 92}, {4, 60}, {5, 98} };
int numStudents = sizeof(students) / sizeof(students[0]);
// 调用函数并打印结果
int lowestId = findLowestScore(students, numStudents);
printf("The student with the lowest score has ID %d.\n", lowestId);
return 0;
}
// 查找最低分的函数实现
int findLowestScore(Student* students, int N) {
int lowestId = 0; // 初始化最低分学号为第一个元素
float lowestScore = students[0].score;
for (int i = 1; i < N; i++) {
if (students[i].score < lowestScore) {
lowestScore = students[i].score;
lowestId = students[i].id;
}
}
return lowestId;
}
```
阅读全文