关于C语言文件读取和写入

我写一个贪吃蛇的代码,最后要把分数写入一个文件中,然后输出为排行榜。
原来的txt文件里面是10个0(每个0一行),然后第一次游戏结束后,排行榜是第一名是这次的分数,其他全是0。
然后在进行下一次游戏,结束后是排行榜第一的是这次游戏的分数,其他的全是0,第一游戏的分数不见了。

void Rankinglist(){
    int m,n,i;
    FILE*fp1,*fp2;
    scores[10]=score;
    fp1=fopen("E:\\1.txt","r");
    for(i=0;i<10;i++)
        fscanf(fp1,"%5.0f",&scores[i]);
    fclose(fp1);
    for(m=0;m<=9;m++){
        for(n=m+1;n<=10;n++){
            if(scores[m]<scores[n]){
                scores[m]=scores[m]+scores[n];
                scores[n]=scores[m]-scores[n];
                scores[m]=scores[m]-scores[n];
            }
        }
    }
    if(score!=scores[10]){
        Position(60,10);
        printf("您的成绩登上了排行榜!");
        fp2=fopen("E:\\1.txt","w");
        for(i=0;i<10;i++){
            fprintf(fp2,"%5.0f",scores[i]);
        }
        fclose(fp2);
    }
    Position(60,12);
    printf("排行榜");
    for(i=0;i<10;i++){
        Position(60,13+i);
        printf("第%d名:%5.0f分",i+1,scores[i]);
    }
}

求大神帮助。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^