不知道为什么一直没有输出

#include
#include 
#include 
typedef struct{
    char k;
    char time[3];
    int jlzs;
    short zchangdu;
    short jlchangdu;
    char empty[20];
}
E;
typedef struct{
    char name[10];
    char k1;
    char lx;
    int begin;
    char kuandu;
    char weishu;
    char empty1[14];
}
F;
typedef struct{
    char sname[15];
    float math;
    float english;
    float computer;
    float zongfen;
}
STU;
int main(){
    FILE *p;
    E e;
    F f[5];
    STU s[101]={
    0}
    ;
    int i,j,n,zds;
    char flag,fen[10],s1name[15];
    scanf("%d",&n);
    if(n==1)    {
        if((p=fopen("aaa.dic","rb"))==NULL)        exit(1);
    }
    if(n==2)    {
        if((p=fopen("bbb.dic","rb"))==NULL)        exit(1);
    }
    if(n==3)    {
        if((p=fopen("ccc.dic","rb"))==NULL)        exit(1);
    }
    fread(&e,32,1,p);
    fseek(p,e.zchangdu,1);
    zds=(e.zchangdu-33)/32;
    for(i=0;i32,1,p);
        if(strcmp(f[0].name,"name")==0)                {
            f[1]=f[0];
        }
        if(strcmp(f[0].name,"math")==0)               {
            f[2]=f[0];
        }
        if(strcmp(f[0].name,"english")==0)                {
            f[3]=f[0];
        }
        if(strcmp(f[0].name,"computer")==0)                {
            f[4]=f[0];
        }
    }
    int m=0;
    for(i=0;i1,1,p);
        if(flag=='*')               {
            fseek(p,e.jlchangdu-1,1);
            continue;
        }
        fseek(p,f[1].begin-1,1);
        fread(s1name,f[1].kuandu,1,p);
        s1name[f[1].kuandu]=0;
        for(j=f[1].kuandu-1;j>-1;j--)               {
            if(s1name[j]==' ')                       s1name[j]==0;
            else                       break;
        }
        strcpy(s[m].sname,s1name);
        fseek(p,f[2].begin-f[1].begin-f[1].kuandu,1);
        fread(fen,f[2].kuandu,1,p);
        s[m].math=(float)atof(fen);
        fseek(p,f[3].begin-f[2].begin-f[2].kuandu,1);
        fread(fen,f[3].kuandu,1,p);
        s[m].english=(float)atof(fen);
        fseek(p,f[4].begin-f[3].begin-f[3].kuandu,1);
        fread(fen,f[4].kuandu,1,p);
        s[m].computer=(float)atof(fen);
        s[m].zongfen=s[m].math+s[m].english+s[m].computer;
        m++;
        fseek(p,e.jlchangdu-f[4].begin-f[4].kuandu,1);
    }
    for(j=0;j0;
    i1].zongfen)                {
            s[100]=s[i];
            s[i]=s[i+1];
            s[i+1]=s[100];
        }
        if(s[i].zongfen==s[i+1].zongfen)                {
            if(s[i].english1].english)                {
                s[100]=s[i];
                s[i]=s[i+1];
                s[i+1]=s[100];
            }
        }
    }
    for(i=0;i"%-10s,%4.1f,%4.1f,%4.1f,%5.1f",s[i].sname,s[i].math,s[i].english,s[i].computer,s[i].zongfen);
    }
    fclose(p);
    return 0;
}


循环条件有点问题,i<m改成i<m-1