拜托会的人能够解答出来!急用!

图片说明

参考:http://tieba.baidu.com/p/799479523
http://wenku.baidu.com/link?url=84rI8nPzX2Ysac14_UcRekalOMIwY1CbN_ao6OEooenpMiQ8nAWQNesldOZXavcx0KyAqKo5pkDh3RFlTHgevt8bxGJ4NBn5ULixv-5EQ9y

给个邮箱吧 我就把我的发过去好了 其他东西子自己改吧 把类里面的内容删掉几个 就行了

1908396718@qq.com 多谢

 struct student {
  int num;
  char *name;
  char sex;
  int age;
  float grade;
};


int main()
{
  struct student d[] = {
    {101, "Ahang", 'M', 19, 95.5},
    {102, "Wang", 'F', 18, 92.0},
    {103, "Zhao", 'M', 19, 85.5},
    {104, "Li", 'M', 20, 96.0},
    {105, "Gao", 'F', 17, 91.0}
    };
  int i, j, len = sizeof(d)/sizeof(struct student);
  struct student tmp;

  printf("num name  sex age grade\n");
  for(i=0; i<len; i++) {
    printf("%d %-5s %-3c %-3d %0.2f\n", d[i].num, d[i].name, d[i].sex, d[i].age, d[i].grade);
  }

  for(i=0; i<len-1; i++) {
    for(j=i+1; j<len; j++) {
      if(d[i].grade > d[j].grade) {
        tmp = d[i];
        d[i] = d[j];
        d[j] = tmp;
      }
    }
  }

  printf("\nnum name  sex age grade\n");
  for(i=0; i<len; i++) {
    printf("%d %-5s %-3c %-3d %0.2f\n", d[i].num, d[i].name, d[i].sex, d[i].age, d[i].grade);
  }
  return 0;
}