void Sort(Student stu[]) { system("cls"); int i, j, k; float s; char t[20]; cout << endl << "======>> 降序排列 <<======" << endl; int n = Read(stu); for (i = 0; i < n - 1; i++) { for (j = 0; j < n - 1; j++) { if (stu[j].average < stu[j + 1].average) { //num k = stu[j + 1].num; stu[j + 1].num = stu[j].num; stu[j].num = k; //c_program s = stu[j + 1].c_program; stu[j + 1].c_program = stu[j].c_program; stu[j].c_program = s; //total_scores s = stu[j + 1].total_scores; stu[j + 1].total_scores = stu[j].total_scores; stu[j].total_scores= s; //english s = stu[j + 1].english; stu[j + 1].english = stu[j].english; stu[j].english = s; //math s = stu[j + 1].math; stu[j + 1].math = stu[j].math; stu[j].math = s; //average s = stu[j + 1].average; stu[j + 1].average = stu[j].average; stu[j].average = s; } } } cout << "------------------------------------------------------------------------------------" << endl; cout << "班级" << "\t" << "学号" << "\t" << "姓名" << "\t" << "C++" << "\t" << "总分" << "\t" << "英语" << "\t" << "数学" << "\t" << "平均分" << endl; cout << "------------------------------------------------------------------------------------" << endl; for (int i = 0; i < n; i++) { stu[i].order = i + 1; cout << stu[i].class_0 << "\t" << stu[i].num << "\t" << stu[i].name << "\t" << stu[i].c_program << "\t" << stu[i].total_scores << "\t" << stu[i].english << "\t" << stu[i].math << "\t" << stu[i].average << endl; } Write(stu, n); }实验结果分析
时间: 2024-04-13 12:26:01 浏览: 51
void StatisticAnalysis(STU stu[], int n, int m).vsdx
这段代码是一个降序排列学生信息的函数。代码首先通过调用Read函数获取学生信息,并存储在stu数组中。然后使用冒泡排序算法对学生信息进行降序排序,排序的依据是学生的平均分。在排序过程中,如果前一个学生的平均分小于后一个学生的平均分,则交换这两个学生的所有信息(学号、C++成绩、总分、英语成绩、数学成绩、平均分)。最后,函数输出排序后的学生信息,并调用Write函数将排序后的结果写入文件。
实验结果分析的话,可以根据输出的结果观察每个学生的平均分是否按降序排列,以及其他信息是否正确。如果排序结果与预期不符,可以检查代码中是否存在逻辑错误或者数据读取写入的问题。
阅读全文