选择法 我在其它专栏里有讲了
#include <stdio.h>
struct student {
int num;
char name[20];
float score;
}stu[5] = { {10101,"zhang",78},{10103,"wang",98.5},{10106,"li",86}, {10108,"ling",73.5},{10101,"sun",100} };//定义结构体变量并初始化
int main() {
//struct student stu[5] = { {10101,"zhang",78},{10103,"wang",98.5},{10106,"li",86}, {10108,"ling",73.5},{10101,"sun",100} };//定义结构体变量并初始化
int i,j,k;
struct student t;
const int n = 5;
float max = stu[0].score;
for (i = 0; i < n-1; i++) {
k = i;
for (j = i + 1; j < n; j++) {
if (stu[j].score > stu[i].score) {
k = j;
}
}
t = stu[k];
stu[k] = stu[i];
stu[i]=t;
}
for (i = 0; i < n; i++) {
printf("%6d %8s %6.2f\n", stu[i].num, stu[i].name, stu[i].score);
}
return 0;
}