用C语言编写一个已知学生的记录,由学号和学习成绩构成,n名学生的数据已存入A结构体数组中,请编写函数fun,该函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定,只有一个最低分),
时间: 2024-05-04 18:19:15 浏览: 133
以下是用C语言编写函数`fun`的代码实现:
```c
#include <stdio.h>
#define N 100 // 最大学生数
typedef struct student {
int num; // 学号
int score; // 成绩
} Student;
void fun(Student A[], int n, Student *p) {
int i;
*p = A[0]; // 初始化最低分学生为数组第一个学生
for (i = 1; i < n; i++) {
if (A[i].score < p->score) { // 如果当前学生的成绩比最低分学生的成绩更低
*p = A[i]; // 更新最低分学生为当前学生
}
}
}
int main() {
Student A[N] = {{1, 80}, {2, 90}, {3, 70}}; // 初始化学生数组
int n = 3; // 学生数
Student p; // 最低分学生
fun(A, n, &p); // 找出最低分学生
printf("Number: %d, Score: %d\n", p.num, p.score); // 输出最低分学生的学号和成绩
return 0;
}
```
在主函数中,首先定义了一个`Student`类型的数组`A`,并初始化了其中的学生记录。然后,定义了一个`Student`类型的变量`p`,用于接收最低分学生的记录。接着,调用函数`fun`,将学生数组`A`、学生数`n`和指向最低分学生记录的指针`&p`传入函数中。函数`fun`的实现过程是:先将最低分学生记录初始化为数组中的第一个学生记录,然后遍历整个学生数组,如果当前学生的成绩比最低分学生的成绩更低,就更新最低分学生为当前学生。最后,在主函数中输出最低分学生的学号和成绩。
阅读全文