解题思路:
注意事项:
参考代码:
#include <iostream> #include <algorithm> using namespace std; struct st{ int sn,chinese, english, math, total; }; const int N = 1e3 + 10; st score[N]; bool cmp(st a, st b){ if (a.total == b.total){ if(a.chinese == b.chinese) return a.sn < b.sn; return a.chinese > b.chinese; } return a.total > b.total; } int main(){ int n; cin >> n; for(int i = 0; i < n; i ++) { score[i].sn = i + 1; cin >> score[i].chinese >> score[i].math >> score[i].english; score[i].total = score[i].chinese + score[i].math + score[i].english; } sort(score, score + n, cmp); for(int i = 0; i < 5; i ++){ cout << score[i].sn << ' ' << score[i].total<< endl; } return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:658 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:436 |
【出圈】 (C语言代码)浏览:590 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:932 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:591 |
WU-判定字符位置 (C++代码)浏览:1471 |
C语言程序设计教程(第三版)课后习题6.8 (C++代码)浏览:614 |
a+b浏览:452 |
Tom数 (C语言代码)浏览:581 |
C语言程序设计教程(第三版)课后习题10.1 (C++代码)浏览:529 |