c语言怎样实现读取文件内数据并排序,再输出到原文件里?
我写的还是原来一样的输出顺序,排序的代码完全没用,请指教!!!
/*----------------------------查看全班所有成绩-----------------------------*/
void teacher1()
{
int i = 0,j,n;
int x,y;
struct xinxi temp;
char ss[10];
system("cls");
FILE * fp;
if((fp = fopen("C:UsersAsusDesktoppj.txt","r")) == NULL)
{
printf("不能找到pj.txt文件");
exit(1);
}
printf("%10s %6s %4s %4s %4s ","学号","姓名","英语","现代","程序设计");
while (!feof(fp))
{
fread(&score[i],sizeof(struct xinxi),1,fp);
i++;
}
for (x = 0; x < i; x++)
{
for (y = x; y < i; y++)
{
if(score[y].id > score[x].id )
{
temp = score[x];
score[x] = score[y];
score[x] = temp;
}
}
}
你的交换明显是错的
temp = score[x];
score[x] = score[y];
score[x] = temp;
正确的
temp = score[x];
score[x] = score[y];
score[y] = temp;
下一篇:小程序能做直播功能吗?
上一篇:C#中,字符串转化问题