zoukankan      html  css  js  c++  java
  • nyoj124-中位数

    中位数

    时间限制:3000 ms  |  内存限制:65535 KB
    难度:2
    描述

    一组数据按从小到大的顺序依次排列,处在中间位置的一个数叫做中位数。

    比如 1 5 10 11 9  其中位数就是9.因为排序过后,9处在中间位置。

    现在给你一些数,请你求出其中位数。

    输入
    第一行输入一个整数T(1<=T<=1000)表示测试数据的组数。
    随后的一行是一个奇数M,表示该组测试数据中共有M(1<=M<=1000)个数。
    随后的一行有M个互不相同的整数,这些整数都不大于10000且不小于-10000。
    输出
    对于每组测试数据输出一个整数,表示这M个数的中位数。
    样例输入
    1
    5
    1 5 10 11 9
    
    样例输出
    9
    #include<stdio.h>
    int main()
    {
    	int t;
    	scanf("%d",&t);
    	while(t--)
    	{
    		int m,i,j,t,a[1000];
    		scanf("%d",&m);
    		for(i=0;i<m;i++)
    		scanf("%d",&a[i]);
    		for(i=0;i<m-1;i++)
    		for(j=0;j<m-i-1;j++)
    		if(a[j]>a[j+1])
    		{ t=a[j];
    		  a[j]=a[j+1];
    		  a[j+1]=t;
    		}
    		printf("%d
    ",a[(m-1)/2]);
    	}
    }
    可通过,下面是最优程序:
     
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int a[1003];
    int main()
    {	
    	int n,x;
    	cin>>n;
    	while(n--)
    	{
    		cin>>x;
    		for(int i=0;i<x;i++)
    			cin>>a[i];
    		nth_element(a,a+x/2,a+x);
    		cout<<a[x/2]<<endl;
    	}
    }        

    希望对看到的人有帮助。
  • 相关阅读:
    辞职后的第二个星期
    最近似乎应该休眠了.
    文件.二进制转换
    AVL树
    ajax 的同步和异步
    在SQL Server实现最短路径的搜索
    网页嵌套com例子
    Vs2005 dll 设置def导出函数
    [转]ATL开发一个ActiveX
    Atl COM发布与优化
  • 原文地址:https://www.cnblogs.com/aerer/p/9931133.html
Copyright © 2011-2022 走看看