已知学生的记录由学号和分数构成,从键盘输入学生的数据,调用自定义函数fun(),找出分数最高的学生。要求采用结构体数组来保存学生的记录,通过形参指针将找到的结果传回主函数,在主函数中输出结果。,把下面的代码补充完整#include <stdio.h> #define N 3 struct stu { char num[10]; int score; }; void main () { struct stu a[N],m; int i; void fun(struct stu a[],struct stu *p); for(i=0;i<N;i++) scanf("%s%d",a[i].num,&a[i].score); fun(a,&m); printf("%s %d\n",m.num,m.score); } void fun(struct stu a[],struct stu *p)
时间: 2024-01-31 16:04:55 浏览: 69
c代码-从键盘任意输入五个学生的姓名,编程找出并输出按字典顺序排在最前面的学生姓名。
以下是代码的完整实现,其中使用指针传递参数来获取找到的分数最高的学生的信息:
```c
#include <stdio.h>
#define N 3
struct stu {
char num[10];
int score;
};
void fun(struct stu a[], struct stu *p) {
int max_score = -1;
for (int i = 0; i < N; i++) {
if (a[i].score > max_score) {
max_score = a[i].score;
*p = a[i];
}
}
}
int main() {
struct stu a[N], m;
int i;
for (i = 0; i < N; i++)
scanf("%s%d", a[i].num, &a[i].score);
fun(a, &m);
printf("%s %d\n", m.num, m.score);
return 0;
}
```
运行示例:
```
1001 89
1002 76
1003 98
1003 98
```
阅读全文