题解 | #争夺前五名#

争夺前五名

https://www.nowcoder.com/practice/cd052308a1c44a88ad00255f312c3e14

#include <stdio.h>
#include <stdlib.h>
int compare(const void *a,const void *b)
{
    int arg1 = *(const int*)a;
    int arg2 = *(const int*)b;
    return (arg1<arg2)-(arg1>arg2);
}
int main() {
    int n;
    scanf("%d",&n);
    int arr[n];
    for(int i=0;i<n;i++)
    {
        scanf("%d",&arr[i]);
    }
    qsort(arr, n, 4, compare);
    for(int i=0;i<5;i++)
    {
        printf("%d ",arr[i]);
    }
}

用qsort函数来进行排序即可,

C语言qsort排序接口:qsort(void *ptr, size_t count, size_t size, int (*comp)(const void*a, const void *b) );

ptr - 指向待排序的数组的指针

count - 数组的元素数目

size - 数组每个元素的字节大小

comp - 比较函数。

全部评论

相关推荐

11-02 09:49
已编辑
货拉拉_测试(实习员工)
热爱生活的仰泳鲈鱼求你们别卷了:没事楼主,有反转查看图片
点赞 评论 收藏
分享
10-15 15:00
潍坊学院 golang
跨考小白:这又不是官方
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务