社区讨论
第八点错,样例包对
P1093[NOIP 2007 普及组] 奖学金参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @m628pu5h
- 此快照首次捕获于
- 2025/01/18 21:44 去年
- 此快照最后确认于
- 2025/11/04 11:21 4 个月前
第八个点错,样例对。
CPP#include<bits/stdc++.h>
using namespace std;
struct Student{int score,chinese,number;}students[310]; //定义学生结构体
int n,maths,english; //math:数学成绩 english:英语成绩
bool cmp(Student a,Student b){
if(a.score!=b.score)return a.score>b.score; //比总分
if(a.chinese!=b.chinese)return a.chinese>b.chinese; //比语文
else return a.number>b.number; //比学号
}
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d%d%d",&students[i].chinese,&maths,&english); //输入三科成绩
students[i].number=i; //定义学号
students[i].score=students[i].chinese+maths+english; //计算总分
}
sort(students+1,students+n+1,cmp); //排序
for(int i=1;i<=5;i++)printf("%d %d\n",students[i].number,students[i].score); //输出
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...