马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
题目描述
又到了一学期一度的考试周,老师要开始统计大家的成绩了。
从键盘上按学号输入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[110]
int n;
cin>>n;int i=0;
while(n--)
{
cin>>s[i].Name>>s[i].a>>s[i].b>>s[i].c;
i++;
s[i-1].Id=i;
s[i].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[110];
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[j].Name << " " << s[j].Id << " " << s[j].sum << endl;
}
return 0;
}
|