如何在数组中对成绩进行排序
how to Sort Grade in Array
我想按降序对他们的成绩进行排序。我只是不知道如何使用气泡排序。.
void computegrade(string name[], int studentno[], float ave[], int top)
{
if (top==0){
cout<<"Nothing to displayn";
}
cout<<"Students are: " <<"n" <<"n";
for (int x=top-1; x>=0; x--)
{
cout<<"Student Name: " <<name[x] <<endl;
cout<<"Student No: " <<studentno[x] <<endl;
cout<<"Average: " <<ave[x];
}
}
我建议首先创建一个包含学生信息的结构或类,而不是单独传递所有数组。 完成此操作后,您可以将包含学生的结构/类数组传递给您的函数,然后通过比较成绩然后交换整个结构/类,使用气泡排序对数组进行排序。
student students[number_of_students];
//load the student data here
computegrate(students,top);
然后在函数内部比较并在必要时交换
if(students[i-1].ave < students[i].ave){
student temp = students[i-1];
students[i-1] = students[i];
students[i] = temp;
}
您应该熟悉气泡排序的完整实现,如果没有,请检查您的教科书或笔记或一些在线教程。 你将不得不重写你的函数来接受一个学生数组。 好处是你不必处理所有的个人数据,而是处理整个结构,如此处所展示的交换 2 个学生对象。
如果没有类或结构,您将不得不单独交换您拥有的所有数组中的学生信息。
相关文章:
- 在c++中尝试对对象数组进行排序时,出现std:bad_alloc错误
- 显示错误输出的简单数组排序程序
- 为什么我的排序算法会更改数组值
- 为什么我需要C++中不同的排序格式来对这个USACO代码上的数组和优先级队列进行排序
- 在 c++ 中对类中的 c 字符串动态数组进行排序的最佳方法是什么?
- 合并排序不排序自创建数组类 c++
- 带有枚举方向/类型的气泡排序结构数组
- 为什么指针在对二维数组进行排序时无法正常工作?
- 排序并行数组
- 如何在数组 c++ 中对字符串进行排序
- 为什么在此排序算法实现中,向量明显比数组慢?
- 如何对不在数组中的变量进行排序?
- C++数组与向量排序(在我的情况下,向量比数组慢~2.5倍(无优化))
- 按字母顺序对结构内数组变量中的名称进行排序
- 使用排序函数 c++ 对字符数组进行排序
- 使用 std::sort 对二维 c 数组进行排序
- 使用STL对用户输入数组进行排序的错误有什么解决方案吗?
- 使用 std::sort 对 C 样式的 2D 数组进行部分排序
- 数组为此合并排序函数提供了正确的输出,但向量给出了不正确的输出.出了什么问题?
- 对 0 、1 和 2 的数组进行排序