利用尾插法建立一个带头结点的单链表,要求包含学生姓名、学号、语文、数学、英语三门成绩、总分,并且按照总分从高到低的顺序进行排序,具有删除,插入功能。
//2019.10.9
//带头结点的学生单链表为插法实现
struct student{
long num;//学号
float score;//成绩
struct student *next;//*规范!
};
int main()
{
struct student *createlist();
return 0;
}
struct student *createlist()
{
struct student *head,*p1,*p2;
p1=p2=(struct student*)malloc(LEN);
scanf("%ld %f",&p1->num,&p1->score);//%ld十进制长整型有符号数据
head=null;
while(p1->num!=0){
if(head==NULL)
head=p1;
else
p2->next=p1;
p2=p1;
p1=(struct student*)malloc(LEN);
scanf("%ld %f",&p1->num,&p1->score);
}
p2->next=null;
free(p1);
return (head);
}
/*
指针规则
int main()
{
int x=8,*p=&x;
printf("%d",*p); //这是输出x的值 8 所以用%d合适
printf("%d",p); //这里写%d或%p都可以,因为是指针,所以用p合适
return 0;
}
*/
参考一下,如果要更详细功能可以参考:http://www.cxyzjd.com/article/weixin_45754293/107335530
如有帮助,望采纳,谢谢
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632