21xrx.com
2024-12-23 00:11:14 Monday
登录
文章检索 我的文章 写文章
C++实现算法:去掉最大值和最小值求平均数
2023-07-06 17:03:51 深夜i     --     --
C++ 算法 去掉最大值 去掉最小值 求平均数

在许多问题中,我们需要计算平均值。然而,在某些情况下,我们希望排除最大值和最小值并计算平均值。这种情况下,我们可以使用一个简单的算法来解决这个问题,那就是去掉最大值和最小值求平均数。

为了实现这个算法,我们可以使用C++编程语言。首先,我们需要输入一组数字,然后计算它们的平均值。为了排除最大和最小值,我们需要找到这些值并从原数组中删除它们,然后再次求平均值。

让我们看一个C++程序,来实现这个算法:

#include

#include

#include

int main()

{

  std::vector numbers = 70;

  // Remove the smallest and largest numbers

  numbers.erase(std::min_element(numbers.begin(), numbers.end()));

  numbers.erase(std::max_element(numbers.begin(), numbers.end()));

  // Calculate the average of the remaining numbers

  double sum = 0.0;

  for (auto num : numbers)

  {

    sum += num;

  }

  double average = sum / numbers.size();

  std::cout << "The average of the remaining numbers is: " << average << std::endl;

  return 0;

}

在上面的程序中,我们首先创建一个包含一组数字的向量numbers。接下来,我们使用std::min_element和std::max_element函数找到最小值和最大值,并使用向量的erase函数将它们从向量中删除。最后,我们使用一个循环来计算其余数字的总和,并除以向量的大小来求出平均值。

使用这个简单的算法,我们可以很容易地去掉数字中的最大和最小值,并计算其余数字的平均值。这个过程可以应用于各种不同的问题中,例如在一些数据分析问题中,可能希望去掉异常值并计算平均值。

  
  

评论区

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