更新时间2018-07-12 16:40:42
输入第一行为N,表示有N位同学;简单程序参考
#include <iostream>
#include <algorithm>
using namespace std;
struct STUD
{
string name;
int score[3];
} ;
int comp(STUD p1,STUD p2)
{
return ( p2.score[0]+p2.score[1]+p2.score[2])-(p1.score[0]+p1.score[1]+p1.score[2]);
}
int main(void)
{
int i,n;
STUD *data;
cin >> n;
data = new STUD[n];
for(i=0; i<n; i++) //输入n个学生的姓名,语文,数学,英语成绩
cin >> data[i].name >> data[i].score[0]>> data[i].score[1] >> data[i].score[2];
sort(data, &data[n],comp);
int k;
cin >> k;
cout << data[k-1].name << ":" << data[k-1].score[0]+data[k-1].score[1]+data[k-1].score[2] << endl;
return 0;
}
测试结果