21xrx.com
2025-04-01 11:58:51 Tuesday
文章检索 我的文章 写文章
如何用C++从一组分数中去掉一个最高分和一个最低分?
2023-07-04 21:11:13 深夜i     16     0
C++ 分数 去掉 最高分 最低分

在 C++ 中,我们可以使用以下几个步骤来从一组分数中去掉一个最高分和一个最低分:

1. 定义一个包含分数的数组。

2. 按照从小到大的顺序对数组进行排序。

3. 引入两个变量 min 和 max,分别存储最小值和最大值。

4. 遍历数组,找到最小值和最大值。

5. 声明新数组,并将原数组的所有元素复制到新数组中,但是跳过最小值和最大值。

以下是一个示例代码,展示如何实现这个过程:

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
  int scores[] = 89 ;
  int n = sizeof(scores) / sizeof(scores[0]);
  
  sort(scores, scores + n); //排序
  
  int minScore = scores[0];
  int maxScore = scores[n - 1];
  
  int newScores[n - 2]; //声明新数组
  
  int j = 0; //j 用于跟踪新数组中的索引
  
  for(int i = 1; i < n - 1; i++)
  {
    if(scores[i] != minScore && scores[i] != maxScore) //如果不是最小值或最大值
    {
      newScores[j++] = scores[i];
    }
  }
  
  cout << "New array: ";
  
  for(int i = 0; i < j; i++) //遍历新数组并输出
  {
    cout << newScores[i] << " ";
  }
  
  return 0;
}

输出将是:

New array: 56 67 78 89

这个过程可以帮助我们计算分数的平均值,而不会因最高和最低得分的影响而出现不准确的结果。

  
  

评论区