parent
d2f15cb799
commit
edd0654e9a
@ -0,0 +1,83 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int id;
|
||||||
|
int mclass;
|
||||||
|
char name[20];
|
||||||
|
float a,b,c;
|
||||||
|
float total;
|
||||||
|
}Student;
|
||||||
|
void sort(Student *person,int len)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
int j;
|
||||||
|
for(i=0;i<len;i++)
|
||||||
|
{
|
||||||
|
int k=i;
|
||||||
|
for(j=i;j<len;j++)
|
||||||
|
{
|
||||||
|
if(person[k].mclass>person[j].mclass||(person[k].mclass==person[j].mclass&&person[k].total<person[j].total))
|
||||||
|
{
|
||||||
|
k=j;
|
||||||
|
}
|
||||||
|
if(k!=i)
|
||||||
|
{
|
||||||
|
Student temp=person[i];
|
||||||
|
person[i]=person[k];
|
||||||
|
person[k]=temp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void modify(Student *person,int len,Student modifyperson)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for(i=0;i<len;i++)
|
||||||
|
{
|
||||||
|
if(person[i].id==modifyperson.id)
|
||||||
|
{
|
||||||
|
person[i]=modifyperson;
|
||||||
|
sort(person,3);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void print(Student *person,int len,Student modifyperson)
|
||||||
|
{
|
||||||
|
int classname=0;
|
||||||
|
int i;
|
||||||
|
for(i=0;i<len;i++)
|
||||||
|
{
|
||||||
|
if(person[i].mclass!=classname)
|
||||||
|
{
|
||||||
|
classname=person[i].mclass;
|
||||||
|
printf("%d ",classname);
|
||||||
|
}else{
|
||||||
|
printf(" ");
|
||||||
|
}
|
||||||
|
printf("%d %s %.1f %.1f %.1f",person[i].id,person[i].name,person[i].a,person[i].b,person[i].c);
|
||||||
|
if(person[i].id==modifyperson.id)
|
||||||
|
{
|
||||||
|
printf(" modified");
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
Student students[]=
|
||||||
|
{
|
||||||
|
{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}
|
||||||
|
};
|
||||||
|
sort(students,3);
|
||||||
|
Student modifystudent;
|
||||||
|
scanf("%d %d %s %f %f %f",&modifystudent.id,&modifystudent.mclass,&modifystudent.name,&modifystudent.a,&modifystudent.b,&modifystudent.c);
|
||||||
|
sort(students,3);
|
||||||
|
modify(students,3,modifystudent);
|
||||||
|
print(students,3,modifystudent);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in new issue