ccf——201903-1小中大

题目如下

这道题很简单,中位数是按顺序排列的一组数据中居于中间位置的数,当n为奇数时,中位数为a[n/2] ( a[0~n-1]储存给出的有序数组 ),n为偶数时,中位数为( a[n/2-1]+a[n/2])/2.0

然后再注意输出要求对于整数和分数的格式

代码如下:

#include<stdio.h>
#define MAX 100010
int a[MAX];
int main()
{
    int n;
    scanf("%d",&n);
    int f=n%2;//标记奇偶
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    int mx,mn;
    mx=a[n-1];
    mn=a[0];
    if(mx<mn)
    {
        int t=mx;
        mx=mn;
        mn=t;
    }
    if(f==1)
    {
        printf("%d %d %d",mx,int(a[n/2]),mn);    
    }
    else if(f==0)
    {
        double mid=(a[n/2-1]+a[n/2])/2.0;
        if(mid-int(mid)==0)
        printf("%d %d %d",mx,int(mid),mn);
        else
        printf("%d %.1f %d",mx,mid,mn);
    }
    return 0; 
}

 

posted @ 2019-06-29 15:09  ellenxx  阅读(414)  评论(0编辑  收藏  举报