[C] 按分数从高到低将学生信息排序 →→→→→进入此内容的聊天室

来自 , 2019-09-14, 写在 C, 查看 102 次.
URL http://www.code666.cn/view/9af76329
  1. #include <stdio.h>
  2. #define N 3
  3. struct student {
  4.   char name[20];
  5.   long num;
  6.   float score;
  7. };
  8. void sort(struct student stu[]) {
  9.   struct student t;
  10.   int i, j;
  11.   for (i = 0; i < N - 1; i++) {
  12.     for (j = N - 1; j > i; j--)
  13.       if (stu[j].score > stu[j - 1].score) {
  14.         t = stu[j];
  15.         stu[j] = stu[j - 1];
  16.         stu[j - 1] = t;
  17.       }
  18.   }
  19. }
  20. int main() {
  21.   struct student stu[N], *p = stu;
  22.   int i;
  23.   printf("请输入姓名,学号,分数:\n");
  24.   for (i = 0; i < N; i++)
  25.     scanf("%s%ld%f", stu[i].name, &stu[i].num, &stu[i].score);
  26.   sort(p);
  27.   printf("按照分数从高到底如下:\n姓名\t学号\t分数\n");
  28.   for (i = 0; i < N; i++)
  29.     printf("%-8s%-8ld%-8f\n", stu[i].name, stu[i].num, stu[i].score);
  30.   return 0;
  31. }

回复 "按分数从高到低将学生信息排序"

这儿你可以回复上面这条便签

captcha