如何对成绩进行排序啊
题目描述又到了一学期一度的考试周,老师要开始统计大家的成绩了。
从键盘上按学号输入n
个学生的数据(包括姓名,三门课的成绩),按照总成绩从高到低排序,
并输出学生的姓名、学号和总分。
输入描述
第一行一个整数n
,表示n
个学生;
接下来n
行,每行包括一个字符串,表示学生姓名,三个整数,表示三门课的成绩。
输出描述
输出n
行,表示按照总分从高到低排序后学生的信息,包括姓名、学号和总分,以空格分开。
创建了学生类;输入数据后如何按成绩给学生排序啊
#include<bits/stdc++.h>
using namespace std;
class Student
{
public:
string Name;
int Id;
int a,b,c;
int sum;
Student()
{
sum=0;
}
void zong()
{
sum=a+b+c;
}
};
int main()
{
Student s
int n;
cin>>n;int i=0;
while(n--)
{
cin>>s.Name>>s.a>>s.b>>s.c;
i++;
s.Id=i;
s.zong();
}
} #include <iostream>
#include <algorithm>
using namespace std;
class Student
{
public:
string Name;
int Id;
int a, b, c;
int sum;
Student()
{
sum = 0;
}
void zong()
{
sum = a + b + c;
}
};
bool compare(Student s1, Student s2)
{
return s1.sum > s2.sum;
}
int main()
{
Student s;
int n;
cin >> n;
int i = 0;
while (n--)
{
cin >> s[ i].Name >> s[ i].a >> s[ i].b >> s[ i].c;
s[ i].Id = i + 1;
s[ i].zong();
i++;
}
sort(s, s + i, compare);
for (int j = 0; j < i; j++)
{
cout << s.Name << " " << s.Id << " " << s.sum << endl;
}
return 0;
}
页:
[1]