parent
542388fc4d
commit
6d0762b33a
@ -1,83 +0,0 @@
|
|||||||
#include <stdio.h>
|
|
||||||
struct stud
|
|
||||||
{
|
|
||||||
int num;
|
|
||||||
int clas;
|
|
||||||
char name[10];
|
|
||||||
float math;
|
|
||||||
float phy;
|
|
||||||
float eng;
|
|
||||||
char modf;
|
|
||||||
};
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
|
|
||||||
struct stud stu[10]={{10001,11,"Zhang",99.5,88.5,89.5},
|
|
||||||
{10002,12,"Yang",77.9,56.5,87.5},
|
|
||||||
{10003,11,"Liang",92.5,99.0,60.5},
|
|
||||||
};
|
|
||||||
struct stud t={};
|
|
||||||
struct stud ch[1];
|
|
||||||
scanf("%d %d %s %f %f %f",&ch[0].num,&ch[0].clas,ch[0].name,&ch[0].math,&ch[0].phy,&ch[0].eng);
|
|
||||||
struct stud*p=stu;
|
|
||||||
struct stud*p1=ch;
|
|
||||||
void change(struct stud stu[],struct stud ch[]);
|
|
||||||
change(p,p1);
|
|
||||||
int i,j;
|
|
||||||
for(i=0;stu[i].num!=0;i++)
|
|
||||||
{
|
|
||||||
if(stu[i+1].num!=0)
|
|
||||||
{
|
|
||||||
for(j=i+1;stu[j].num!=0;j++)
|
|
||||||
{
|
|
||||||
if(stu[i].clas>stu[j].clas)
|
|
||||||
{
|
|
||||||
t=stu[i];stu[i]=stu[j];stu[j]=t;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for(i=0;stu[i].num!=0;i++)
|
|
||||||
{
|
|
||||||
if(stu[i+1].num!=0)
|
|
||||||
{
|
|
||||||
for(j=i+1;stu[j].num!=0&&stu[i].clas==stu[j].clas;j++)
|
|
||||||
{
|
|
||||||
if(stu[i].math+stu[i].phy+stu[i].eng<stu[j].math+stu[j].phy+stu[j].eng)
|
|
||||||
{
|
|
||||||
t=stu[i];stu[i]=stu[j];stu[j]=t;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for(i=0;stu[i].num!=0;i++)
|
|
||||||
{
|
|
||||||
if(i==0)printf("%d %d %s %3.1f %3.1f %3.1f",stu[i].clas,stu[i].num,stu[i].name,stu[i].math,stu[i].phy,stu[i].eng);
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if(stu[i].clas==stu[i-1].clas)
|
|
||||||
{
|
|
||||||
printf(" %d %s %3.1f %3.1f %3.1f",stu[i].num,stu[i].name,stu[i].math,stu[i].phy,stu[i].eng);
|
|
||||||
}
|
|
||||||
else printf("%d %d %s %3.1f %3.1f %3.1f",stu[i].clas,stu[i].num,stu[i].name,stu[i].math,stu[i].phy,stu[i].eng);
|
|
||||||
}
|
|
||||||
if(stu[i].modf=='y')
|
|
||||||
{printf(" modified");}
|
|
||||||
printf("\n");
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
void change(struct stud stu[],struct stud ch[])
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
for(i=0;stu[i].num!=0;i++)
|
|
||||||
{
|
|
||||||
if(stu[i].num==ch[0].num)
|
|
||||||
{
|
|
||||||
stu[i]=ch[0];
|
|
||||||
stu[i].modf='y';
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in new issue