C++算出输入的20个数的中位数
时间: 2024-09-28 12:03:18 浏览: 29
蓝桥杯STEMA考试-C++编程专题训练(中级)
在C++中计算一组数字的中位数,首先需要将这组数字存储在一个容器中,比如vector。以下是一个简单的步骤:
1. **输入数据**:创建一个`std::vector<int>`来存储20个用户输入的整数。
```cpp
std::vector<int> numbers(20);
for (int i = 0; i < 20; ++i) {
std::cin >> numbers[i];
}
```
2. **排序数组**:使用`std::sort`函数对数组进行排序,因为中位数是对有序数组而言的。
```cpp
std::sort(numbers.begin(), numbers.end());
```
3. **确定中位数**:对于偶数个元素,中位数是中间两个数的平均值;对于奇数个元素,中位数就是中间的那个数。
```cpp
double median;
if (numbers.size() % 2 == 0) { // 偶数个
median = static_cast<double>(numbers[numbers.size() / 2 - 1] + numbers[numbers.size() / 2]) / 2.0;
} else { // 奇数个
median = static_cast<double>(numbers[numbers.size() / 2]);
}
```
4. **输出结果**:
```cpp
std::cout << "中位数是: " << median << std::endl;
```
阅读全文