问答题 有50个学生的记录(每个学生的记录包括学号和成绩),组成记录数组,按成绩由高到低的次序输出(每行10个记录)。排序方法采用选择排序。【北京师范大学1999年】
【正确答案】正确答案:算法的基本设计思想:按照从前向后的顺序遍历数组,每遍历到一个记录,将其与其后面的关键字最大的记录交换,然后输出。算法的代码: typedef struct { //数据结构定义 int num; f10at SC0re; }RecType; VOid SelectSOrt(RecType R[51],int n){ int k f i r j; f。r(i:1; iR[k].Score) k=j ; if(i !=k) swap(R[i],R[k]); //与第i个记录交换 }//for for(i=1; i<=n;i++) //输出成绩 { printf(”%d,%f”,R[i].num,R[i].SCOre); if(i%10==0) printf(”\n”); } }//SelectSort
【答案解析】