题解 | #中位数#

中位数

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;
}


全部评论

相关推荐

不愿透露姓名的神秘牛友
06-27 15:07
点赞 评论 收藏
分享
06-20 21:22
已编辑
门头沟学院 Java
纯真的河老师在喝茶:答应了就跑啊,实习随便跑啊,别被pua了,md就是找个廉价劳动力,还平稳过度正式工,到时候跟你说没转正
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-27 20:55
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务