解题思路:
利用STL中的sort函数即可很简单实现。
(1)先按照总分排序;
(2)总分相同再按照语文排序;
(3)语文相同,则按照学号排序。
(4)输出前5项即可。
参考代码:
#include <bits/stdc++.h> using namespace std; typedef struct { int num; //学号 int score[3]; //三门成绩,分别是语文,数学,英语 int sum; //总分 }Student; bool cmp(Student s1,Student s2) { if(s1.sum!=s2.sum) return s1.sum>s2.sum ; if(s1.score[0]!=s2.score[0]) return s1.score[0]>s2.score[0]; return s1.num<s2.num; } int main() { int n; Student s[305]; cin>>n; for(int i=0;i<n;i++) { s[i].sum=0; for(int j=0;j<3;j++) { cin>>s[i].score[j]; s[i].sum+=s[i].score[j]; } s[i].num=i+1; } sort(s,s+n,cmp); for(int i=0;i<5;i++) { cout<<s[i].num<<" "<<s[i].sum<<endl; } return 0; }
0.0分
0 人评分
母牛的故事 (C语言代码)浏览:1300 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:684 |
2005年春浙江省计算机等级考试二级C 编程题(3) (C语言代码)浏览:390 |
A+B for Input-Output Practice (VII) (C++代码)浏览:615 |
简单的a+b (C语言代码)浏览:599 |
C语言训练-计算t=1+1/2+1/3+...+1/n (C语言代码)浏览:908 |
WU-字符串比较 (C++代码)浏览:760 |
DNA (C语言描述,数据结构)浏览:862 |
P1000 (C语言代码)浏览:877 |
数组与指针的问题浏览:718 |