📄 sourpro.txt
字号:
#include <stdio.h>
#define N 53.
typedef struct student
{
int No;
char Name[20];
int Score[3];
float Aver;
} STUD;
int main()
{
STUD stu[N],temp;
int i,j,loops,N_record=N;
FILE *fp;
if((fp=fopen("stud","rb"))==NULL)
{
printf("Can't open the file!\n");
return 0;
}
fread(&N_record,sizeof(int),1,fp);
fread(stu,sizeof(STUD),N_record,fp);
fclose(fp);
for(loops=1;loops<N;loops++)
for(i=0;i<N-loops;i++)
if(stu[i].Aver<stu[i+1].Aver)
{
memcpy(&temp,&stu[i],sizeof(STUD));
memcpy(&stu[i],&stu[i+1],sizeof(STUD));
memcpy(&stu[i+1],&temp,sizeof(STUD));
}
if((fp=fopen("stu_sort","wb"))==NULL)
{
printf("Can't open the file !");
return;
}
fwrite(&N_record,sizeof(int),1,fp);
fwrite(stu,sizeof(STUD),N_record,fp);
fclose(fp);
fp=(FILE *)NULL;
N_record=-1;
memset(stu,0,sizeof(stu));
fp=fopen("stu_sort","rb");
fread(&N_record,sizeof(int),1,fp);
fread(stu,sizeof(STUD),N_record,fp);
fclose(fp);
for(i=0;i<N;i++)
{
printf("%-4d %-6s ",stu[i].No,stu[i].Name);
for(j=0;j<3;j++)
printf("%-6d\t",stu[i].Score[j]);
printf("%-10f\n",stu[i].Aver);
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -