用C++计算中位数
中位数是一组数据中居于中间位置的数,如果数据有偶数个,则中位数为中间两个数的平均值。以下是用C++计算中位数的示例代码:
#include <iostream>
#include <algorithm> // 包含sort函数
using namespace std;
int main() {
int n;
cout << "请输入数据个数:";
cin >> n;
int a[n];
cout << "请输入" << n << "个数据:";
for (int i = 0; i < n; i++) {
cin >> a[i];
}
sort(a, a + n); // 对数组进行排序
double median; // 中位数
if (n % 2 == 0) { // 数据个数为偶数
median = (a[n / 2 - 1] + a[n / 2]) / 2.0;
} else { // 数据个数为奇数
median = a[n / 2];
}
cout << "中位数为:" << median << endl;
return 0;
}
该程序先让用户输入数据个数和数据,然后使用sort函数对数据进行排序,最后根据数据个数的奇偶性计算中位数。注意,当数据个数为偶数时,需要将中间两个数的平均值转换为double类型。
原文地址: https://www.cveoy.top/t/topic/pxG 著作权归作者所有。请勿转载和采集!