(为什么不能给分?)结构体数组插入排序的函数有关问题,

(为什么不能给分?)结构体数组插入排序的函数问题,求助!!
#include   <stdio.h>
double   aver(struct   student   *pst);         //求平均成绩函数;
void   display(struct   student   *pst);       //显示信息函数;
void   charu(double   );                                   //插入信息函数;
struct   student  
{
int   num;                                               //学生结构体;
char   name[20];
double   chji[3];
double   average;
};

void   main()
{
struct   student   stu[100];             //结构体数,并定义最多学生数100;
struct   student   *pst;
pst=stu;                                             //结构体数组指针;

int   n=0;                                           //实际学生数统计;
int   i,j;
struct   student   temp;                     //结构体变量,用来排序时第三方交换值;
struct   student   *pst2;                   //指向变量的指针;
pst2=&temp;
char   ans= 'y ';                                     //判断是否继续输入;
do
{
printf( "请输入学生学号 ");
scanf( "%d ",&pst-> num);
printf( "请输入学生姓名: ");
scanf( "%s ",pst-> name);
printf( "请输入学生的三科成绩: ");
scanf( "%lf   %lf   %lf ",&pst-> chji[0],&pst-> chji[1],&pst-> chji[2]);
n++,pst++;
printf( "是否继续(Yes/No)? ");
fflush(stdin);
ans=getchar();
}while   (ans== 'y '   ||   ans== 'Y ');

printf( "\n\t\t学生成绩信息:\n ");
printf( "********************************************** ");
printf( "\n\n\t学号\t姓名\t成绩1:\t成绩2:\t成绩3: ");
for(pst=stu;pst <stu+n;pst++)                           //输入学生信息;
{
printf( "\n\t%d ",pst-> num);
printf( "\t%s ",pst-> name);
printf( "\t%7.2f\t%7.2f\t%7.2f ",pst-> chji[0],pst-> chji[1],pst-> chji[2]);
}
printf( "\n ");
printf( "\n排序前学员成绩信息如下: ");
printf( "\n\t学号\t姓名\t平均成绩 ");
for(pst=stu,i=0;pst <stu+n;pst++)
{
pst-> average=aver(pst);                           //平均数指针函数;
display(pst);                                               //显示指针函数;                                      
/*printf( "\n\t%d ",pst-> num);
printf( "\t%s ",pst-> name);
printf( "\t%7.2f ",pst-> average);*/
}
printf( "\n ");

printf( "排序后的学员成绩如下: ");
for(pst=stu,i=0;i <n;i++)