牛客网——中位数
题目描述
中位数定义:一组数据按从小到大的顺序依次排列,处在中间位置的一个数(或最中间两个数据的平均数). 给出一组无序整数,求出中位数,如果求最中间两个数的平均数,向下取整即可(不需要使用浮点数)
输入描述:
该程序包含多组测试数据,每一组测试数据的第一行为N,代表该组测试数据包含的数据个数,1<=N<=10000. 接着N行为N个数据的输入,N=0时结束输入
输出描述:
输出中位数,每一组测试数据输出一行
链接:https://www.nowcoder.com/questionTerminal/2364ff2463984f09904170cf6f67f69a 来源:牛客网 #include<iostream> using namespace std; int main() { int n; int a[10001]; int between; cin >> n; for (int i = 0; i < n; i++) cin >> a[i]; for (int i = 0; i < n - 1; i++) { for (int j = i + 1; j < n; j++) { if(a[i] > a[j]) { int temp = a[i]; a[i] = a[j]; a[j] = temp; } } } if(n % 2 == 0) { between = (a[n / 2 - 1] + a[n / 2]) /2; } else between = a[n / 2]; cout << between << endl; return 0; }