21xrx.com
2024-09-20 00:58:30 Friday
登录
文章检索 我的文章 写文章
C++如何输出中位数
2023-07-12 20:06:19 深夜i     --     --
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类型,以避免数据类型的问题。

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

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复