该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
n=L->next;
while(n->next!=NULL)
{
if(n->data.mathnext->data.math)
{
a=n->data;
n->data=n->next->data;
n->next->data=a;
n=n->next;
}
else
n=n->next;
}
}
linklist*outnew(linklist*P,linklist*q)
{
int n=0;
int x=1;
linklist*k,*j,*r;
q=(linklist*)malloc(sizeof(linklist));
q->next=NULL;
k=P;
j=q;
while(k->next!=NULL)
{
n=n+1;
k=k->next;
}
while(x<=n)
{
if(k->next->data.math<60)
{
r=(linklist*)malloc(sizeof(linklist));
r=k->next;
r->next=NULL;
j->next=r;
j=j->next;
k=k->next;
}
else
k=k->next;
}
return q;
}
linklist*out(linklist*d)
{
linklist*g;
g=d;
printf("NUM NAME MATH\n");
while(g->next!=NULL)
{
printf("%s %s %f\n",g->next->data.num,g->next->data.name,g->next->data.math);
g=g->next;
}
}
main(void)
{
int e=0;
int n;
linklist*u;
linklist*a,*s;
linklist*stu;
linklist*stud;
printf("How many students there are?\n");
scanf("%d",&n);
Greatlist(stu,n);
stud=(linklist*)malloc(sizeof(linklist));
stud=outnew(stu,stud);
a=stud;
s=stud;
while(a->next!=NULL)
{
if(a->next->data.math>a->next->next->data.math)
{
u=a->next;
a->next=a->next->next;
a->next->next=u;
a=a->next;
}
else
a=a->next;
}
out(stu);
out(stud);
}