21xrx.com
2025-07-09 03:58:41 Wednesday
文章检索 我的文章 写文章
C++成绩排序,输出名次
2023-06-29 11:31:03 深夜i     53     0
C++ 成绩 排序 输出 名次

在学生考试中,成绩排序对于学生和老师来说都是非常重要的。C++语言是一种功能强大的编程语言,可以用于编写各种应用程序,包括成绩排序程序。在本篇文章中,我们将讨论如何使用C++编写一个能够对学生成绩进行排序,并输出名次的程序。

首先,我们需要定义一个结构体来存储学生的信息,包括姓名、学号和成绩。结构体代码如下:

struct Student
  string name;
  int id;
  double score;
;

接下来,我们可以使用C++的STL库中的vector容器来存储多个学生的信息,代码如下:

vector<Student> students;

接下来,我们需要从用户输入中获取学生的信息并将其添加到vector容器中。以下是获取学生信息的代码:

int n;
cout << "请输入学生人数:";
cin >> n;
for (int i = 0; i < n; i++) {
  string name;
  int id;
  double score;
  cout << "请输入学生姓名:";
  cin >> name;
  cout << "请输入学生学号:";
  cin >> id;
  cout << "请输入学生成绩:";
  cin >> score;
  Student student = name;
  students.push_back(student);
}

接下来,我们可以使用C++的sort函数对学生的成绩进行排序,代码如下:

sort(students.begin(), students.end(), [](const Student& a, const Student& b)
  return a.score > b.score;
);

以上代码中,我们使用了lambda表达式来定义比较函数,以便sort函数能够对成绩进行排序。

最后,我们可以按照排名顺序输出每个学生的姓名、学号和成绩,代码如下:

cout << "名次\t姓名\t学号\t成绩" << endl;
for (int i = 0; i < students.size(); i++) {
  cout << i + 1 << "\t" << students[i].name << "\t" << students[i].id << "\t" << students[i].score << endl;
}

至此,我们已经完成了使用C++编写成绩排序程序,并输出每个学生的名次、姓名、学号和成绩的任务。这个程序非常简单,但是却非常实用,可以帮助学生和老师更好地管理考试成绩。

  
  

评论区

    相似文章