21xrx.com
2024-12-23 00:06:11 Monday
登录
文章检索 我的文章 写文章
C++成绩排序,输出名次
2023-06-29 11:31:03 深夜i     --     --
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++编写成绩排序程序,并输出每个学生的名次、姓名、学号和成绩的任务。这个程序非常简单,但是却非常实用,可以帮助学生和老师更好地管理考试成绩。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复