C_北理工乐学_结构
C_北理工乐学_结构
58. 学生成绩排序
/* 如果有优化方案评论我啊 */
/为什么代码没有高亮?/
大家参加了期末考试,成绩出来后老师要对 n 个学生进行成绩汇总和排序。要求程序按成绩降序进行排序。在排序过程中对于成绩相同的学生,要按照输入数据的顺序进行排列。例如:有5名学生的成绩:
zhang1,90
zhang2,91
zhang3,99
zhang4,91
zhang5,98
则排序结果应该为:
zhang3,99
zhang5,98
zhang2,91
zhang4,91
zhang1,90
>请注意例题中“zhang2”和“zhang4”的排列顺序。
输入:
第一行为将要输入的学生数量n
从第二行起后面连续 n 行数据,每行为一名学生的姓名(长度不超过20个字符,不包括空格),考试成绩(int)
输出:
排序后的结果。每行为一名学生的姓名和成绩。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{int num;int i,j,t=0;char inf[10000];int m[100];int temp;int flag;struct o{char name[1000];int score;int no;}student[100];/*输入学生个数*/scanf("%d",&num); for(i=0;i<num;i++){ student[i].no=i; //标记序号t=0;flag=0;scanf("%s",inf);/*输入姓名*/for(j=0;inf[j]!=',';j++){student[i].name[j]=inf[j];}student[i].name[j]='\0'; //添加姓名尾标/*输入成绩*/for(j++;inf[j]!='\0';j++){m[t]=inf[j]-'0';t++;}student[i].score=0;for(j=0;j<t;j++)student[i].score=m[j]*pow(10,t-j-1)+student[i].score; //计算成绩}/*降序排序*/for(i=0;i<num;i++)for(j=i+1;j<num;j++)if(student[i].score<student[j].score&&student[i].no<student[j].no){temp=student[i].no;student[i].no=student[j].no;student[j].no=temp; }/*分数相同根据姓名排序*//*因为玄学把单独拿出来,否则测试用例1错误*/for(i=0;i<num;i++)for(j=i+1;j<num;j++)if(student[i].score==student[j].score){for(t=0;student[j].name[t]!='\0'&&student[i].name[t]!='0';t++)if(student[j].name[t]>student[i].name[t]&&student[j].no<student[i].no){temp=student[i].no;student[i].no=student[j].no;student[j].no=temp; }}/*输出*/for(i=0;i<num;i++)for(j=0;j<num;j++)if(student[j].no==i){for(t=0;student[j].name[t]!='\0';t++)printf("%c",student[j].name[t]);printf(",");printf("%d\n",student[j].score);}
}
C_北理工乐学_结构相关推荐
- java 北理工 教材_北理工《Java技术与应用》在线作业
北理工<Java技术与应用>在线作业 可以代做所有奥鹏平台的作业.小论文.毕业论文.离线作业.考核作业.在线作业.在线测试,有需要的请联系本人 一.单选题(共 20 道试题,共 40 分. ...
- 北理工乐学C语言 47. 【大学】北理工的恶龙
背景:最近,北理工出现了一只恶龙,它长着很多 头,而且还会吐火,它将会把北理工烧成废墟, 于是,校长下令召集全校所有勇士杀死这只恶龙.要杀死这只龙,必须把它所有的头都砍掉,每个勇士只能砍一个龙头,龙的 ...
- 【模式识别-北理工】11结构模式识别
1 基本概念 结构模式识别: 以结构基元为基础,利用模式的结构信息完成分类的过程,称为结构模式识别. 基元: 构成模式结构信息的基本单元,本身不包含有意义的结构信息. 结构特征的表达: ...
- 北理工乐学 42. 五年级小学生的题目
42. 五年级小学生的题目 成绩 5 开启时间 2022年10月24日 星期一 08:00 折扣 0.8 折扣时间 2022年11月13日 星期日 23:55 允许迟交 否 关闭时间 2022年11月 ...
- 北理工乐学C语言 60.合并排序
60.合并排序 成绩 0 开启时间 2022年11月7日 星期一 08:00 折扣 0.8 折扣时间 2022年11月27日 星期日 23:35 允许迟交 否 关闭时间 2022年12月4日 星期日 ...
- 北理工乐学C语言 49.扫雷
49. 扫雷 背景 你玩儿过扫雷游戏吧?有个操作系统中带了这个小游戏,那个系统叫什么来着?;-)在游戏中要想过关,就必须要在一个 NxM 的区域上找出所有的地雷.游戏过程中,计算机会在地图上显示一些数 ...
- 北理工乐学H:洗牌(选作)
H:洗牌(选作) 成绩 5 开启时间 2022年11月21日 星期一 08:00 折扣 0.8 折扣时间 2022年12月31日 星期六 23:55 允许迟交 否 关闭时间 2022年12月31日 星 ...
- 北理工乐学68.恭喜发财 利是窦来
68. 恭喜发财 利是窦来 成绩 5 开启时间 2022年11月21日 星期一 08:00 折扣 0.8 折扣时间 2022年12月18日 星期日 23:55 允许迟交 否 关闭时间 2022年12月 ...
- 北京理工大学计算机在线作业答案,北理工17秋《操作系统》在线作业答案
北理工<操作系统>在线作业 ' n! f. Y+ ^% C一.单选题:[20道,总分:40分] . v7 c6 \% } @- M1 p6 y3 @1.下面关于重定位的有关描述,错误的是 ...
- 北理工 管理系统计算机仿真作业,20秋北理工《CADCAM原理与应用》--模拟3-答案 更…...
20秋北理工<CADCAM原理与应用>--模拟3-答案 更- 2020-08-06 09:08:00 583 有学员问关于20秋北理工<CADCAM原理与应用>--模拟3-答案 ...
最新文章
- 线性回归的改进-岭回归
- Cookie和Session的区别
- 华为软件编程规范和范例 可读性
- [ERROR] org.testng.TestNGException:Cannot find class in classpath:
- 自定义依赖注解无效_最详细的自定义Spring Boot Starter开发教程
- 浅入浅出理解傅里叶变换
- 卷积神经网络CNN如何训练?
- 2014计算机技术与软件专业技术资格 网络工程师考点,全国计算机技术与软件专业技术资格(水平)考试2014年下半年 网络工程师 答案详解.pdf...
- 双重差分模型能做固定效应吗_互助问答第53期:控制时间效应、交互项等问题...
- 电脑ps4,人在外心在家,教你用PC/MAC远程打PS4
- Leetcode 1235. 规划兼职工作(DAY 73) ---- 动态规划学习期(上午去上高数课了 课下老师说上次旷课不扣平时分嘻嘻)
- CS 与 PS 的区别
- Windows搭建Deepmind的星际争霸2平台
- 深度学习:GCN(图卷积神经网络)理论学习总结
- Javaweb使用dom4j解析xml文档的一般姿势
- WPS中如何将多个文件在不同窗口中打开
- 电脑连不上网,排查原因
- Git上传项目提示Push rejected: Push to origin/dev was rejected解决办法
- 杀毒软件McAfee导致客户端访问mscrm超慢
- 定理在数学中的简写形式_数学最奇葩的九个定理是什么