学生结构体的成员包括姓名、学号、年龄、语文成绩、数学成绩、英语成绩、三门课总分等,具体要求如下
(1)要求通过键盘完成各位小学生的信息录入(需要具有良好的界面输入提示,例如“现在请输入第1位小学生的信息,现在请输入姓名”之类)
(2)若输入的年龄小于6岁或大于14岁,显示年龄超出有效范围,要求重新输入,三门课程的成绩有效范围为0-100之间,否则显示成绩超出有效范围,要求重新输入
(3)对所有学生的三门课成绩进行总分计算,显示出所有10位学生的完整信息,在第一行需要显示出各列的标题,即姓名,学号,年龄等等这些字段的名称
(4)总分排名,对所有学生的总分进行排名,显示内容包括排名,学生姓名,总分
(5)单科最高分显示,显示三门课程的每一门课最高分的学生信息。
我前三个要求能做到,但是不知道怎么进行排名!!!求助!!!
#include <bits/stdc++.h>//万能头文件
using namespace std;
struct node{
string name;
int ch;
int ma;
int en;
int score;
int age;
}arr[MAXN];
bool pm(node &a, node &b){
return a.score > b.score;
}
int main(){
int n;//n 为 学生人数
/*
your code
*/
for (int i = 0; i < n; ++i){
arr[i].score = arr[i].ch + arr[i].ma + arr[i].en;
}
sort(arr, arr + n, pm);
/*
your code
*/
return 0;
}
这就是主要代码