C++给定五个数,输出五个数中最大值,中位数和最小值
时间: 2024-10-28 09:10:01 浏览: 34
从输入的一批正整数中求出最大值、最小值和平均值,输入0结束数据的输入
在C++中,你可以使用数组、vector或自定义结构体存储这五个数,然后遍历数组来找到最大值、最小值以及计算中位数。这里是一个简单的示例,假设输入的是一个整数数组:
```cpp
#include <iostream>
#include <algorithm> // 包含排序算法
// 定义一个结构体来存储三个数值
struct ThreeNumbers {
int min;
int median;
int max;
};
void findMaxMinAndMedian(int arr[], int n, ThreeNumbers &result) {
// 找到最大值和最小值
result.max = *std::max_element(arr, arr + n);
result.min = *std::min_element(arr, arr + n);
// 对数组进行排序
std::sort(arr, arr + n);
// 如果数组长度是奇数,中位数是中间的那个元素
if (n % 2 == 1)
result.median = arr[n / 2];
// 如果数组长度是偶数,中位数是中间两个数的平均值
else
result.median = (arr[(n - 1) / 2] + arr[n / 2]) / 2;
}
int main() {
int numbers[] = {5, 10, 15, 20, 25};
int size = sizeof(numbers) / sizeof(numbers[0]);
ThreeNumbers stats;
findMaxMinAndMedian(numbers, size, stats);
std::cout << "最大值: " << stats.max << "\n";
std::cout << "中位数: " << stats.median << "\n";
std::cout << "最小值: " << stats.min << "\n";
return 0;
}
```
这段代码首先找到数组中的最大值和最小值,然后对整个数组进行排序。接着,它检查数组的长度是奇数还是偶数,以此确定中位数的位置。最后,在`main`函数中打印出结果。
阅读全文