void sort(){ int i,j,s,temp1; char temp[20]; float temp2; printf("\n1.成绩从低到高排序\n"); printf("\n2.成绩从高到低排序\n"); printf("请选择:"); scanf("%d",&s); switch(s){ case 1: for(i=1;i<studnum;i++) { for(j=0;j<=studnum-i;j++) { if(stu[j].score>stu[j+1].score) { } } } //补充代码 break;
时间: 2024-03-26 18:39:31 浏览: 46
Data_struct_1.rar_temp
该代码片段是一个排序函数的框架,其中使用了冒泡排序算法。但是在代码中,比较和交换两个结构体变量的代码被省略了(因为你在代码中使用了"//"注释掉了代码)。你需要在空白处填写代码来完成排序函数。以下是可能的代码实现:
```
case 1:
for (i = 1; i < studnum; i++) {
for (j = 0; j < studnum - i; j++) {
if (stu[j].score > stu[j+1].score) {
// 交换 stu[j] 和 stu[j+1]
temp1 = stu[j].id;
stu[j].id = stu[j+1].id;
stu[j+1].id = temp1;
strcpy(temp, stu[j].name);
strcpy(stu[j].name, stu[j+1].name);
strcpy(stu[j+1].name, temp);
temp2 = stu[j].score;
stu[j].score = stu[j+1].score;
stu[j+1].score = temp2;
}
}
}
printf("排序成功!\n");
break;
```
这里我们使用了一个叫做“交换”的操作,将两个结构体变量的值进行互换。在这里,我们需要交换学生的学号、姓名和分数。
阅读全文