#include #include #include struct node@H_419_2@ {@H_419_2@ char name[11];@H_419_2@ struct node*next;@H_419_2@ };@H_419_2@ int main()@H_419_2@ {@H_419_2@ int n,m,a,x;//n为学生总人数,m为课程总数@H_419_2@ char str[12];@H_419_2@ scanf("%d%d",&n,&m);@H_419_2@ struct node*p,*q;@H_419_2@ struct node*head[2001];//存储每门课学生姓名@H_419_2@ int i;@H_419_2@ for(i=1;i<=2000;i++)@H_419_2@ {@H_419_2@ head[i]=(struct node*)malloc(sizeof(struct node));@H_419_2@ head[i]->next=NulL;//初始化 目前没有学生@H_419_2@ }@H_419_2@ int num[2001];//存储选修每门课的人数@H_419_2@ memset(num,sizeof(num));@H_419_2@ while(n--)@H_419_2@ {@H_419_2@ scanf("%s %d",str,&a);//s为姓名,a为此学生选课总数@H_419_2@ while(a--)//a个课程编号@H_419_2@ {@H_419_2@ scanf("%d",&x);@H_419_2@ num[x]++;//次门课选修人数纪录@H_419_2@ p=head[x];@H_419_2@ q=(struct node*)malloc(sizeof(struct node));@H_419_2@ strcpy(q->name,str);@H_419_2@ while(p->next)@H_419_2@ {@H_419_2@ if(strcmp(q->name,p->next->name)<0)@H_419_2@ break;@H_419_2@ p=p->next;@H_419_2@ }@H_419_2@ q->next=p->next;@H_419_2@ p->next=q;@H_419_2@ }@H_419_2@ }@H_419_2@ for(i=1;i<=m;i++)@H_419_2@ {@H_419_2@ printf("%d %dn",i,num[i]);@H_419_2@ p=head[i]->next;@H_419_2@ while(p)@H_419_2@ {@H_419_2@ printf("%sn",p->name);@H_419_2@ p=p->next;@H_419_2@ }@H_419_2@ }@H_419_2@ return 0;@H_419_2@ }@H_419_2@ 总结 以上是内存溢出为你收集整理的数据结构实验之排序七:选课名单全部内容,希望文章能够帮你解决数据结构实验之排序七:选课名单所遇到的程序开发问题。 如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。 欢迎分享,转载请注明来源:内存溢出
概述本文章向大家介绍数据结构实验之排序七:选课名单,主要包括数据结构实验之排序七:选课名单使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
赞
(0)
打赏
微信扫一扫
支付宝扫一扫
数据结构之表结构【数组,链表的实现方式】(数据结构读后感 一)
上一篇
2022-06-08
[源码和文档分享]基于C语言实现的约瑟夫生者死者游戏
下一篇
2022-06-08
评论列表(0条)