用c++编写一个程序,要求创建一个类,输入若干个学生的数据,包括学号,姓名和三门课程的成绩;

要求按学生成绩排序,并输出名次。因为下午就要用,所以急死了,大神帮忙看下,谢谢!... 要求按学生成绩排序,并输出名次。 因为下午就要用,所以急死了,大神帮忙看下,谢谢! 展开
 我来答
妞儿妈妈time
推荐于2019-09-23 · TA获得超过5119个赞
知道小有建树答主
回答量:44
采纳率:0%
帮助的人:6235
展开全部

1、#include <iostream>#include <string>using namespace std;#define 

2、MAX 100class Student{private:string num;string name;double subject[3];

3、double total;public:void input(Student s[], int);void sort(Student s[], int);
void print(Student s[], int);}stu[MAX];void Student::input(Student s[], int n)
{for (int i = 0; i < n; i++){cout << "输入第" << i + 1 << "个学生的学号:";

4、cin >> s[i].num;cout << "输入第" << i + 1 << "个学生的姓名:";cin >> s[i].name;
s[i].total = 0;for (int j = 0; j < 3; j++){cout << "输入第" << j + 1 << "门课的成绩:";
cin >> s[i].subject[j];s[i].total += s[i].subject[j];}cout << endl;}
void Student::sort(Student s[], int n){for (int i = 0; i < n-1; i++){for (int j = i + 1; j < n; j++){if (s[i].total < s[j].total){Student tmp = s[i];

5、s[i] = s[j];s[j] = tmp;}void Student::print(Student s[], int n)
{for (int i = 0; i < n; i++){cout << "第" << i + 1 << "名" << endl;cout << "学号:" << s[i].num << endl;cout << "姓名:" << s[i].name << endl;for (int j = 0; j < 3; j++){cout << "第" << j + 1 << "门课的成绩:" << s[i].subject[j] << endl;}cout << endl;}
int main(){int num;cout << "输入学生个数:";cin >> num;cout << endl;
Student s;s.input(stu, num);s.sort(stu, num);s.print(stu, num);return 0;}

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式