void SortStudent(){ for(int i=0;i<num-1;i++){ for(int j=0;j<num-1-i;j++){ if(students[j].All < students[j+1].All){ struct Student temp = students[j]; students[j] = students[j+1]; students[j+1] = temp; } } } for(int i=0;i<num;i++){ printf("第%d名\t ID:%s\t 姓名:%s\t 总成绩:%5.1f\n",i+1, students[i].ID,students[i].Name,students[i].All); } }
时间: 2024-03-25 09:40:31 浏览: 72
2016第七届蓝桥杯CC++-B组题解.pdf
好的,这是一段 C 语言代码,下面是注释:
```
void SortStudent(){ // 声明一个无返回值的函数 SortStudent
// 使用冒泡排序算法进行排序
for(int i=0;i<num-1;i++){ // 外层循环,控制排序轮数
for(int j=0;j<num-1-i;j++){ // 内层循环,控制每轮比较次数
if(students[j].All < students[j+1].All){ // 如果前一个学生的总成绩比后一个学生低
struct Student temp = students[j]; // 则交换这两个学生的信息
students[j] = students[j+1];
students[j+1] = temp;
}
}
}
// 输出排序后的学生信息
for(int i=0;i<num;i++){
printf("第%d名\t ID:%s\t 姓名:%s\t 总成绩:%5.1f\n",i+1,
students[i].ID,students[i].Name,students[i].All);
}
}
```
这段代码定义了一个函数 `SortStudent`,它接受一个名为 `students` 的结构体数组,其中存储了学生的 ID、姓名和总成绩信息。函数使用冒泡排序算法对学生数组进行排序,并输出排序后的学生信息。在执行排序操作时,代码使用了两层循环,外层循环控制排序轮数,内层循环控制每轮比较次数。如果前一个学生的总成绩比后一个学生低,则交换这两个学生的信息。最后,函数使用 `printf` 函数输出排序后的学生信息。
阅读全文