题解 | #中位数#

中位数

https://www.nowcoder.com/practice/2364ff2463984f09904170cf6f67f69a

#include <stdio.h>
#include <stdlib.h>
#define MAX 1000
int compare(const void* a,const void* b)
{
    int num1=*((int*)a);
    int num2=*((int*)b);
    return num1-num2;
}
int main()
{
    int data[MAX];
    int n;
    while(scanf("%d",&n)!=EOF&&n>0)
    {
    int num=0;
    for(int i=0;i<n;i++)
    {
        scanf("%d",&data[i]);
    }
    qsort(data,n,sizeof(int),compare);
    if(n%2==1)
    {
        num=data[(n-1)/2];
    }
    else
    {
        num=(data[(n-1)/2]+data[(n+1)/2])/2;
    }
    printf("%d ",num);
    }
    return 0;
}


全部评论

相关推荐

勤奋努力的椰子这就开摆:美团骑手在美团工作没毛病
投递美团等公司10个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
10-15 14:22
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务