J.H


私信TA

用户名:dotcpp0649969

访问量:3448

签 名:

等  级
排  名 78
经  验 9401
参赛次数 1
文章发表 135
年  龄 0
在职情况 学生
学  校 桂林理工大学
专  业 计算机科学与技术

  自我简介:

TA的其他文章

解题思路:

注意事项:

参考代码:

#include<stdio.h>

#include<stdlib.h>

typedef struct student

{

int id;

int chinese;

int math;

int english;

int sumscore;

}Student;

int compare(const void* a, const void* b)

{

Student *A = (Student *)a;

Student *B = (Student*)b;

if (A->sumscore != B->sumscore)

return B->sumscore - A->sumscore;

else

{

if (A->chinese != B->chinese)

return B->chinese - A->chinese;

else

{

return A->id - B->id;

}

}

}

int main()

{

int n,i;

scanf("%d", &n);

Student* a = (Student*)malloc(sizeof(Student) * n);

for (i = 0; i < n; i++)

{

scanf("%d %d %d", &a[i].chinese, &a[i].math, &a[i].english);

a[i].sumscore = a[i].chinese + a[i].math + a[i].english;

a[i].id = i + 1;

}

qsort(a, n, sizeof(Student), compare);

for (i = 0; i < 5; i++)

{

printf("%d %d", a[i].id, a[i].sumscore);

if (i != 4)

printf("\n");

}

return 0;

}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区