zoukankan      html  css  js  c++  java
  • 【排序】找中间数

    题目描述

    将N(N为奇数)个数排序,必有一个数在这N个数的中间位置。请输出中间位置上的这个数。第一行输入N的值(N≤10000),第二行输入这N个不同的数(每个数的范围在10-20~1020之间)。

    输入

    第一数字N表示有N个数,接下来N个数

    输出

    输出其中位数 保留两位小数。

    样例输入

    7
    5 4 2 1 3 9 10
    

    样例输出

    4.00
    直接定义double类型的数组,用sort排序,最后输出中间的数就行了
    这题我一开始定义的数组是从0~n-1的,排完序输出a[n/2],然后就WA
    我换成1~n,排完序输出a[(n+1)/2]就AC了
    不知道为什么~~~
     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 typedef long long ll;
     4 double a[10005];
     5 int n;
     6 int main()
     7 {
     8     scanf("%d",&n);
     9     for(int i=1;i<=n;i++)
    10         scanf("%lf",&a[i]);
    11     sort(a+1,a+1+n);
    12     printf("%.2lf
    ",a[(1+n)/2]);
    13     return 0;
    14 }
    View Code
    如有错误,请指正,感谢!
  • 相关阅读:
    mysql 常用语句
    easyui 时间格式化
    sql学习
    Java基础知识
    windows部署环境(laravel项目)
    gradle spring boot构建项目
    linux mysql操作
    composer
    linux常用命令
    mongodb使用手册
  • 原文地址:https://www.cnblogs.com/scott527407973/p/9449674.html
Copyright © 2011-2022 走看看