//第一种是我自己想的后面的是参考答案
//编写函数fun 他的功能是:把分数最高的学生放在h所指的数组中注意分数最高的学生肯能不止一个
//人数为N
int fun(STREC *a, STREC *b)
{
int i;
for (i = 0; i < N - 1; i++)//利用循环求出最大值
{
if (a[i].s < a[i + 1].s)
{
a[i].s = a[i + 1].s;
a[i].num = a[i + 1].num;
}
b[0].s = a[i - 1].s;
b[0].num = a[i - 1].num;
for (i = 1,j=1; i < N; i++)//利用循环将最大值与其他几个做对比并存储到b结构体中
{
if (b[0].s == a[i].s)
{
b[j++].s = b[0].s;
b[j++].num = a[i].num;
}
}
}int i, max = a[0].s,n =0;for (i = 1; i < N; i++)if (max < a[i].s)max = a[i].s;for (i = 0; i < N;i++){if (max == a[i].s)b[n++] = a[i];}//他原文:http://blog.csdn.net/u012878380/article/details/44262607