在这里插入代码片
#include<stdio.h>
#include<stdlib.h>
typedef struct node
{char mingzi[10],xingbie;
int nianling,xuehao;
struct node *next;}node;
node *create()
{node *head,*p,*q;
int b;
p=(node*)malloc(sizeof(node));
head=p;
q=p;
printf("依次输入学生的名字、学号、性别、年龄;性别是是男时输入字母k,否则输入v\n");
scanf("%s%d%c%d",p->mingzi,&p->xuehao,&p->xingbie,&p->nianling);
printf("继续输入请按1,结束输入请按0\n");
scanf("%d",&b);
while(b)
{p=(node*)malloc(sizeof(node));
printf("依次输入学生的名字、学号、性别、年龄;性别是男时输入字母k,否则输入v\n");
scanf("%s%d%c%d",p->mingzi,&p->xuehao,&p->xingbie,&p->nianling);
printf("继续输入请按1,结束输入请按0\n");
scanf("%d",&b);
q->next=p;
q=p;
}
q->next=0;
return(head);}//建表
void print(node * head)
{node *p;
p=head;
while(p!=0)
{printf("%s %d %c %d\n",p->mingzi,p->xuehao,p->xingbie,p->nianling);
p=p->next;
}
} //输出
node *shunxu(node *head)
{node *p,*q,*temp;
for(p=head;p->next!=0;p=p->next)
{for(q=p->next;q!=0;q=q->next)
if(p->nianling>q->nianling)
{temp=p;
p=q;
q=temp;
}
}
return(head);
} //排序
int main()
{node *head,*p;
head=create();
p=shunxu(head);
print(p);
}
在这里插入代码片