#include
#include
#define N 5
struct student
{ int num;
char name[20];
int M,E,L,C,P;
int average;
int fail;
} ;
void save(struct student *p)
{ int i;
FILE *fp;
if((fp=fopen("student.text","w"))==NULL)
{
printf("Cannot open file!\n");
return ;
}
for(i=0;i
p++;
}
free(fp);
}
void average(struct student* p)
{ int i;
for(i=0;i
}
void fail(struct student* p)
{ int i;
for(i=0;i
if(p->M<60||p->E<60||p->L<60||p->C<60||p->P<60)
p->fail=1;
}
}
void excelent(struct student *p)
{ int i,k,t;
for(i=0;i
for(k=i;k
{
t=(p+i)->average;
(p+i)->average=(p+k)->average;
(p+k)->average=t;
}
}
}
int main()
{ struct student stu[N];
int i,j;
printf("请输入5个同学的数据\n");
for(i=0;i
scanf("%d%s%d%d%d%d%d",&stu[i].num,stu[i].name,&stu[i].M,&stu[i].E,&stu[i].L,&stu[i].C,&stu[i].P);
printf("\nnext \n");
}
average(stu);
printf(" 学号 姓名 数学 英语 语文 C 物理 平 均 \n");
for(i=0;i
fail(stu);
save(stu);
printf("有不及格科目的同学有:\n num name \n");
for(i=0;i
if(stu[i].fail)
printf("%4d %s\n",stu[i].num,stu[i].name);
}
FILE *fp;
if((fp=fopen("student.text","rb"))==NULL)
{
printf("Cannot open file!\n");
exit(0);
}
fread(&stu[i],sizeof(struct student),1,fp);
printf(" 学号 姓名 数学 英语 语文 C 物理 平 均 \n");
for(i=0;i
excelent(stu);
printf("经过安平均分排序后的成绩为:\n 学号 姓名 数学 英语 语文 C 物理 平 均 \n");
for(i=0;i
free(fp);
return 0;
}
绝对自己编的。没有功劳也有苦劳!
你错了,菜鸟也不写这个,菜虫才写吧
高手是不写这么弱智的程序的,叫菜鸟写去。