C语言编程题,插入求和函数,排序函数。么有错误,但结果不对!

定义一个包括学号、姓名及三门课的成绩和总分的结构体,利用该结构体说明一个包含五个人的结构体数组。从键盘输入五个人的基本信息、计算总分,并根据总分排序输出一个成绩单!

show us the code
加个断点调试吧,看看每次排序后的顺序是否如预期结果

这个代码也没贴出来,怎么知道问题出在哪里

复 6楼 newdos
#include
void shuru(void);
void qiuhepaixu(void);
void shuchu(void);
typedef struct student
{
    long studentID;
    char studentName[10];
    int sum[30];
    int a;
    int b;

}STUDENT;
    STUDENT stu[3];
void main()
{
    shuru();
    qiuhepaixu();
}

void shuru(void)
{
    int i;
    for(i=0;i<3;i++)
    {
        printf("请输入第%d个学生的学号 姓名  数学成绩 语文成绩\n",i+1);
        scanf("%ld",&stu[i].studentID);
        scanf("%s",&stu[i].studentName);

        scanf("%d",&stu[i].a);
        scanf("%d",&stu[i].b);

    }
    shuchu();
}
void shuchu(void)
{
    int i,sum[30];
    printf("学号\t 姓名\t  数学\t 语文\t  总分\n");
    for(i=0;i<3;i++)
    printf("%ld\t %s\t %d\t  %d\t %d\n",stu[i].studentID,stu[i].studentName,stu[i].a,stu[i].b,sum[i]);
}

void qiuhepaixu(void)
{
    int i,j,sum[30];
    for(i=0;i<3;i++)
  {
    sum[i]=0;
    sum[i]=stu[i].sum+stu[i].a+stu[i].b;
  }

   struct student temp;
   for(i=0;i    {
      for(j=i+1;j     {
          if(stu[i].sum>stu[j].sum)
        {
            temp=stu[i];
            stu[i]=stu[j];
            stu[j]=temp;
         }
      }
     }
     shuchu();
}