21xrx.com
2024-12-27 20:02:15 Friday
登录
文章检索 我的文章 写文章
C++中求解最大值和最小值出现的次数
2023-07-04 23:02:54 深夜i     --     --
C++ 求解 最大值 最小值 出现次数

在C++中,对于一组数据,我们经常需要求出其中最大值和最小值,以及它们分别出现的次数。这通常是统计数据特征的重要步骤之一。下面,我们就来讲解如何在C++中实现这一过程。

要让程序能够找到最大值和最小值,我们可以用两个变量来记录当前已经找到的最大值和最小值。一开始,我们可以将这两个变量都初始化为第一个数据,然后依次比较后面的数据,如果发现更大或更小的值,就更新这两个变量。最后,我们就能得到最大值和最小值。

那如何统计最大值和最小值出现的次数呢?同样地,我们可以用两个变量分别记录它们出现的次数。每次找到一个与最大值或最小值相等的数时,我们就将对应的计数器加1。最后,就能得到最大值和最小值各自出现的次数。

下面是一段示例代码:


#include <iostream>

using namespace std;

int main()

{

  int n, x;

  int max_num, min_num, max_cnt = 1, min_cnt = 1;

  cin >> n >> x;

  max_num = x;

  min_num = x;

  for(int i = 2; i <= n; i++)

  {

    cin >> x;

    if (x > max_num)

    

      max_num = x;

      max_cnt = 1;

    

    else if (x == max_num)

    {

      max_cnt++;

    }

    if (x < min_num)

    

      min_num = x;

      min_cnt = 1;

    

    else if (x == min_num)

    {

      min_cnt++;

    }

  }

  cout << "Max: " << max_num << endl;

  cout << "Max count: " << max_cnt << endl;

  cout << "Min: " << min_num << endl;

  cout << "Min count: " << min_cnt << endl;

  return 0;

}

在这段代码中,我们首先读入了数据的个数n和第一个数据x,然后初始化了最大值max_num和最小值min_num。接下来,我们循环读入剩下的数据,并更新max_num、min_num以及它们的计数器max_cnt和min_cnt。最后,输出最大值和最小值以及它们的出现次数。

总体而言,在C++中求解最大值和最小值出现的次数并不难,只需要巧妙地运用变量和条件语句即可。但需要注意的是,如果数据规模非常大,这种暴力枚举的方法可能会导致时间复杂度较高,因此需要考虑其他更优秀的算法。

  
  

评论区

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