|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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;
- }
复制代码
|
|