# 6-5 结构体的最值 学生类型ST的定义如下: typedef struct student{ char name[10],id[10]; int gender; int age; double scored; } ST; 编写函数,返回指定学生数组中的男生或女生的最高分的地址(约定:整数0和1分别代表男和女)。 ### 函数接口定义: ```c ST* MaxST(ST d[],int n,int k);//k=0|1 ``` 其中 `d` 是学生数组的初地址, `n`是数组的长度, `k` 是查找的性别描述(值确保是0或1),函数须返回指定类型学生中的最高分者的地址,如果不存在,返回空地址。 ### 裁判测试程序样例: ```c 在这里给出函数被调用进行测试的例子。例如: #include #include typedef struct student{ char name[10],id[10]; int gender; int age; double scored; } ST; void output(ST *d){//输出一个记录 if(d==NULL) {printf("null\n");return;} printf("%s,%s,%d,%d,%4.2f\n",d->name,d->id,d->gender,d->age,d->scored); } ST* InitData(int n);//从输入设备上输入相关数据,略去不表 ST* MaxST(ST d[],int n,int k);//k=0|1 <--需要完成的函数:找最值 int main(){ int i,n;scanf("%d\n",&n); ST *p=InitData(n); output(MaxST(p,n,0)); output(MaxST(p,n,1)); free(p); return 0; } /* 请在这里填写答案 */ ``` ### 输入样例: 第一行是记录个数,余下若干行是相关数据(以空格分隔,每行一个)。 ```in 6 Marry.MK 20201125 0 19 92.86 J.Mark 20201185 0 17 90.93 rouh.M 20201102 1 18 79.51 byi.beee 20201129 1 17 90.28 floyd.Fd 20201150 0 17 81.16 grdda 20201146 1 19 85.52 ``` ### 输出样例: 输出男,女同学中的最高分(只需要找出并返回其地址,输入,输出由测试程序完成)。 ```out Marry.MK,20201125,0,19,92.86 byi.beee,20201129,1,17,90.28 ```