题解 | #中位数#

中位数

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


全部评论

相关推荐

king122:专业技能不要写这么多,熟悉和熟练你经不住问,排版有些难看,中间的空隙搞小一点,项目描述的话感觉是从课程中抄下来的,改一改吧,不然烂大街了,每个项目都写一两点,用什么技术实现了什么难点,然后再写一些数字上去像时间又花了90%这样,这样面试会多一些,如果觉得自己的项目还是不够用的话,我有几个大厂最近做过的实习项目,感兴趣的话可以看我简介中的项目地址
点赞 评论 收藏
分享
自由水:笑死了,敢这么面试不敢让别人说
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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