21xrx.com
2025-03-31 12:47:33 Monday
文章检索 我的文章 写文章
C++如何输出中位数
2023-07-12 20:06:19 深夜i     24     0
C++ 中位数 输出

在C++中,要输出一个数组的中位数,需要进行以下步骤:

1. 将数组按升序排列。

2. 判断数组的长度为奇数还是偶数。

3. 如果长度为奇数,中位数是数组中间的元素。

4. 如果长度为偶数,中位数是中间两个元素的平均值。

下面是一个示例代码,实现输出数组的中位数:

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
  int arr[] = 1;
  int len = sizeof(arr) / sizeof(int);
  sort(arr, arr + len); // 按升序排列
  if (len % 2 == 0) // 如果长度为偶数
  {
    int mid1 = len / 2;
    int mid2 = mid1 - 1;
    cout << "中位数是:" << (arr[mid1] + arr[mid2]) / 2.0 << endl;
  }
  else // 如果长度为奇数
  {
    int mid = len / 2;
    cout << "中位数是:" << arr[mid] << endl;
  }
  return 0;
}

在这个示例代码中,我们先定义了一个数组arr,并计算了它的长度len。然后使用sort函数对数组进行了升序排列。

接着,我们使用if语句判断数组的长度是奇数还是偶数。如果是偶数,我们分别取中间位置的两个元素,计算它们的平均值;如果是奇数,我们取中间位置的元素作为中位数。

最后,我们通过cout语句输出中位数的值。注意,在计算平均值的时候,我们将其中一个元素强制转换为float类型,以避免数据类型的问题。

总之,这是一个简单实现输出数组中位数的示例代码,读者可以根据实际需要进行修改和完善。

  
  

评论区