天天看點

nyoj-154-king選太子

king 選 太子

時間限制:3000 ms  |  記憶體限制:65535 KB

難度:1

描述

    啊,從前有一個國家。此國兵強馬壯,但是國王卻身體不好。于是就想挑一位太子出來;

    但是問題來了,國王不知道他有幾個孩子(這國王糊塗吧!),他隻知道他的孩子的年齡都是不同的。同時這個國王也有要求,他認為孩子年齡太大的過于迂腐,而年齡太小又不成熟,(這孩子挑的也太難了吧),他就想要年齡在他們孩子之間是最中間的(如果孩子的個數為偶數,那麼選中間的兩個皇子中年齡較大的那個)。

輸入

    第一行有一個整數T,代表有T組資料(T<=10)

    第二行有一個整數n(0<n<=15),緊随着有n個數代表有n個皇子(年齡都是整數)

輸出

    每行輸出這串數字的太子的年齡

樣例輸入

    2

    3

    1 2 3

    4

    1 2 3 4

樣例輸出

    2

    3

#include "stdio.h"
int main(int argc, char const *argv[])
{
    int n;
    freopen("input.txt","r",stdin);
    scanf("%d",&n);
    while(n--)
    {
        int a[16],b,i,k,l,temp;
        scanf("%d",&b);
        for(i=0; i<b; i++)
        {
            scanf("%d",&a[i]);
        }
        for(k=0; k<b; k++)
            for(l=0; l<b-k-1; l++)
                if(a[l]>a[l+1])
                {
                    temp=a[l];
                    a[l]=a[l+1];
                    a[l+1]=temp;
                }
        printf("%d\n",a[b/2]);
    }
    return 0;
}
           
#include<stdio.h>
#include<stdlib.h>
int cmp(const void*a,const void*b )
{
    return *(int*)a-*(int*)b;
}
int main()
{
    int m,a[16],i,n;
    scanf("%d",&m);
    while(m--)
    {
        scanf("%d",&n);
        for(i=0; i<n; i++)
            scanf("%d",&a[i]);
        qsort(a,n,sizeof(a[0]),cmp);
        printf("%d\n",a[n/2]);

    }
    return 0;
}// c函數排序