代码如下:
#include <stdio.h>
#include <stdlib.h>
struct student
{
char* num;
int score;
};
struct student max(struct student a[],int n)
{
int i,maxindex;
maxindex = 0;
for(i=1;i<n;i++)
{
if(a[i].score > a[maxindex].score)
maxindex = i;
}
return a[maxindex];
}
int main()
{
struct student a[20]; //数组大小可自己调整
struct student mm;//最大分数信息
int i,n;
printf("请输入学生人数:");
scanf("%d",&n);
for (i=0;i<n;i++)
{
printf("请输入学生%d的学号和分数:",i+1);
a[i].num = (char*)malloc(40);
scanf("%s %d",a[i].num,&a[i].score);
}
mm = max(a,n);
printf("最大分数学生学号:%s,分数:%d",mm.num,mm.score);
//释放空间
for (i=0;i<n;i++)
{
free(a[i].num);
a[i].num =0;
}
return 0;
}