解题思路:

注意事项:

参考代码:

#include<stdio.h>

struct garde {

int sum;

int xuehao;

};

int main(){

int arr[1000] = { 0 };

int brr[1000] = { 0 };

int crr[1000] = { 0 };

int n;

int temp1;

struct garde su[1000];

scanf("%d", &n);

for (int i = 1; i <= n; i++) {

scanf("%d", &arr[i]);

scanf("%d", &brr[i]);

scanf("%d", &crr[i]);

}

for (int i = 1; i <= n; i++) {

     su[i].sum = arr[i] + brr[i] + crr[i];

     su[i].xuehao = i;

     }

for (int i = 1; i <= n; i++) {

     for (int k = 1; k <= n - 1; k++) {

          if (su[k].sum < su[k + 1].sum) {

                 temp1 = su[k].sum;

                 su[k].sum = su[k + 1].sum;

                 su[k + 1].sum = temp1;

                 temp1 = su[k].xuehao;

                 su[k].xuehao = su[k + 1].xuehao;

                 su[k + 1].xuehao = temp1;

                 temp1 = arr[k];

                 arr[k] = arr[k + 1];

                 arr[k+1] = temp1;

        }

    }

}

for (int k = 1; k <= n - 1; k++) {

    if (su[k].sum == su[k + 1].sum&&arr[k]<arr[k+1]) {                   //对总分相同的两个学生根据语文成绩排序

         temp1 = su[k].sum;

         su[k].sum = su[k + 1].sum;

         su[k + 1].sum = temp1;

         temp1 = su[k].xuehao;

         su[k].xuehao = su[k + 1].xuehao;

         su[k + 1].xuehao = temp1;

         temp1 = arr[k];

         arr[k] = arr[k + 1];

         arr[k + 1] = temp1;

     }

}

if (n >= 5) {                                             //判断学生总数是否大于5(所给的样例可能都是大于五的,这步可能不需要)

     for (int i = 1; i <= 5; i++) {

         printf("%d ", su[i].xuehao);           //根据格式进行输出

         printf("%d\n", su[i].sum);

     }

}

else if (n < 5) {

    for (int i = 1; i <= n; i++) {

         printf("%d ", su[i].xuehao);

         printf("%d\n", su[i].sum);

    }

}

return 0;

}

点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论