sicily 奖学金
来源:互联网 发布:美化包软件 编辑:程序博客网 时间:2024/04/30 12:31
sicily 奖学金
题目
思路
很自然得到思路
除了按题意常规的输入输出外,主要是以下几个主要操作
1.构建结构体存放:学号、语数英成绩、总分
2.选择一种排序方法,并定义排序方式:这里选用较为简单的 选择排序。并有嵌套比较:总分(total)-> 语文成绩(chinese)->学号(ID)
trap
1.在coding过程中,反而陷入了 Presentation Error 的坑,原因是题目要求在两个trail中间输出一个空行!但绝不是在output后面加一个空行那么简单,!!注意是两个相邻测试数据之间 即:最后一个测试样例不要有空行输出。
但,怎么知道是最后一个测试样例呢?很简单,换个思路:在不是第一个测试样例前输出空行。<-机智
2.因为实现用的是升序排序,所以输出时要从数组尾部输出
实现
#include <iostream>using namespace std;struct data { int ID; int chinese; int math; int english; int total;};typedef struct data student; void select_sort(student s[], int num){ for (int position = num-1; position > 0; position--){ int max_index = 0; for (int i = 0; i <= position; ++i) { if (s[i].total > s[max_index].total){ max_index = i; } else if (s[i].total == s[max_index].total){ if (s[i].chinese > s[max_index].chinese){ max_index=i; } else if (s[i].chinese == s[max_index].chinese){ if (s[i].ID < s[max_index].ID){ max_index=i; } } } } //swap student temp = s[max_index]; s[max_index] = s[position]; s[position] = temp; }}int main(){ int student_num; int test = 0; while(cin>>student_num){ student students[student_num]; //geting data if (test) { cout<<endl; } for (int i = 0; i < student_num; i++){ students[i].ID = i+1; cin>>students[i].chinese; cin>>students[i].math; cin>>students[i].english; students[i].total = (students[i].chinese + students[i].math + students[i].english); } select_sort(students,student_num); for (int i = student_num-1; i >= student_num-5; i--) { cout<<students[i].ID<<" "<<students[i].total<<endl; } test++; } return 0;}
0 0
- sicily 奖学金
- sicily--1482. 奖学金
- Sicily 1482. 奖学金
- Sicily 1147. 谁拿了最多奖学金
- sicily--1147. 谁拿了最多奖学金
- sicily 1147.谁拿了最多奖学金
- Sicily 1147. 谁拿了最多奖学金
- Sicily 1147 谁拿了最多的奖学金
- 讲解:sicily 1147.谁拿了最多奖学金
- 奖学金~~~~
- 奖学金
- 奖学金
- 奖学金
- 奖学金
- 奖学金
- 奖学金
- 奖学金
- 奖学金
- 08JSP内置对象application
- NYOJ 216 A problem is easy
- 从小案例入手RxJava+Retrofit+MVP
- Maven较完整教程
- GCD 深入理解(一)
- sicily 奖学金
- Java线程面试题 Top 53
- 人类历史上的谎言
- 手机自动化测试(9)----monkey源码地址(包含多种其他工具)
- JAVA百科---[基础篇]修饰符
- (十五)文件操作——access函数的介绍和使用
- GCD 深入理解(二)
- 三大框架的基础知识
- Java基础知识总结之一