DAY9 算法提高 成绩排序(1)(2)
算法提高 成绩排序 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给出n个学生的成绩,将这些学生按成绩排序, 排序规则,优先考虑数学成绩,高的在前;数学相同,英语高的在前;数学英语都相同,语文高的在前;三门都相同,学号小的在前 输入格式 第一行一个正整数n,表示学生人数 接下来n行每行3个0~100的整数,第i行表示学号为i的学生的数学、英语、语文成绩 输出格式 输出n行,每行表示一个学生的数学成绩、英语成绩、语文成绩、学号 按排序后的顺序输出 样例输入 2 1 2 3 2 3 4 样例输出 2 3 4 2 1 2 3 1 数据规模和约定 n≤100 注意审题即可,思路不难想,题目都给出来了,循环即可搞定 需要注意的是,这题排序方式不包括总分。 AC代码: # include <iostream> using namespace std ; struct stu { int x ; //数学 int y ; //英语 int z ; //语文 int num ; //学号 } s [ 105 ] ; int main ( ) { int n ; cin >> n ; for ( int i = 1 ; i <= n ; i ++ ) { s [ i ] . num = i ; cin >> s [ i ] . x >> s [ i ]