我写一个贪吃蛇的代码,最后要把分数写入一个文件中,然后输出为排行榜。
原来的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]);
}
}
求大神帮助。