结构体和数组

来源:互联网 发布:c语言韩信点兵怎么理解 编辑:程序博客网 时间:2024/06/08 09:27

学生的记录由学号和成绩组成,N名学生的数据放在结构体数组s中,请编写函数将最低分的同学放在b所指的数组中。

#include <stdio.h>
#define N 16
typedef struct
{char num[10];
   int s;
} STREC;
int fun(STREC *a, STREC *b)
{
int i;
int min=100;
int sum=0;
for(i=0;i<N;i++)

{
if(a[i].s<min)
min=a[i].s;
   }
   for(i=0;i<N;i++)
   {
    if(a[i].s==min)
    {
    b[sum]=a[i];
    sum++;
}
}
return sum;

}
main()
{STREC s[N]={{"GA05",85},{"GA03",76}, {"GA02",69},{"GA04",85},{"GA01",91},{"GA07",72},{"GA08",64},{"GA06",87},{"GA015",85},{"GA013",91},{"GA012",64},{"GA014",91},{"GA011",91},{"GA017",64},{"GA018",64},{"GA016",72}};
   STREC h[N];
   int i,n;
   n=fun(s,h);
   printf("The %d lowest score :\n",n);
   for(i=0;i<n; i++)
     printf("%s  %4d\n",h[i].num,h[i].s);
   printf("\n");
  
  
}

0 0