- 1、本文档共2页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
人不知而不愠,不亦君子乎?——《论语》
PTA学⽣成绩排序-C语⾔详解
7-72学⽣成绩排序 (20分)
给出⼀组学⽣名单(姓名和成绩),请输出按成绩从⼤到⼩排序后的结果(名次和姓名)。成绩相同的⼈拥有相同的名次,且按姓名的字典
序从⼩到⼤排列。题⽬保证学⽣姓名没有重复。
输⼊格式:
第⼀⾏给出不⼤于10000的整数N。 接下来N⾏,每⾏给出学⽣姓名和成绩,以空格分隔。学⽣姓名不超过20个字符。
输出格式:
共输出N⾏,每⾏包含对应的学⽣排名和姓名,以空格分隔。
输⼊样例:
7
KongDezhen 94
FuTaotao 93
HuYu 94
XuJiecen 94
WuSuqi 96
ChenDa 93
HuNianbo 95
输出样例:
1 WuSuqi
2 HuNianbo
3 HuYu
3 KongDezhen
3 XuJiecen
6 ChenDa
6 FuTaotao
非淡泊无以明志,非宁静无以致远。——诸葛亮
穷则独善其身,达则兼善天下。——《孟子》
#includestdio.h
#includestring.h
struct student{
char name[25];
int num ;
};
⽐较函数
int cmp(struct student a,struct student b)//
{
if(a.num==b.num)
return strcmp(a.name,b.name)0;
else
return b .numa.num;
}
int main()
{
int n ,i,j ;
scanf(%d,n);
struct student a[11111],b;
for(i=0;in;i++)
{
scanf(%s,a[i].name);
scanf(%d,a[i].num);
}
冒泡排序进阶
for(i=0;in;i++)//
for(j=i+1;jn;j++)
{
if(cmp(a[i],a[j]))
{
b = a[i];
a[i] = a[j];
a[j] = b ;
}
}
int t=1;
for(i=1;i=n;i++)
{
printf(%d %s\n,t,a[i-1].name);
if(a[i].num!=a[i-1].num)
{
t=i+1;
}
}
}
这题的第⼀个难点主要是需要在给成绩排序的同时还要给名字的⾸字母排序。所以建⽴⼀个⽐较函数较为便捷,然后符合cmp函数的条件就
进⾏排序,其实就是冒泡排序的进阶
第⼆个难点是排名的问题,若成绩相同排名相同,其实排名还是按照名次的,仔细揣摩⼀下我最后是如何排的,挺基础的⼀个解决⽅式。
我尽一杯,与君发三愿:一愿世清平,二愿身强健,三愿临老头,数与君相见。——《白居易》
您可能关注的文档
最近下载
- 工作疏忽大意深刻失职检讨书5000字.doc
- 无处不生活 无处不教育——“生活即教育”思想在小学语文课堂中的渗透 论文.docx
- 2021年全国中小学生天文知识竞赛试题库(一).pdf
- 部编版语文五年级上册第六单元习作《我想对您说》课件.pptx VIP
- 整式的乘法与因式分解单元教学设计.docx VIP
- 2024年中考语文专项复习 现代文阅读知识点.pptx VIP
- 2024年山东日照市事业单位招聘考试(市属+各县区)【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024新人音版初中七级音乐上册《第五单元 草原牧歌》大单元整体教学设计.docx
- 中国隐形眼镜品牌及广告概述.ppt
- 初中作文指导:一多用(材料的移花接木法).ppt VIP
文档评论(0)