如何返回小于或等于平均值的整数和大于平均值的整数

How Can I return both number of ints less than or equal to average and number of ints greater than average

本文关键字:平均值 整数 大于 何返回 返回 小于      更新时间:2023-10-16

我是函数新手。我不知道如何输出小于或等于平均值的整数和大于平均值的整数数。我需要如何调用我的函数才能输出两个结果?

int compareAverage(int numbers[], int count, double average)
{
    int lessEqualCount = 0;
    int greaterCount = 0;
    for (int i = 0; i < count; i ++)
       {
           if (numbers[i] <= average){
               lessEqualCount++;
               return lessEqualCount;}

           else{
              greaterCount++;
              return greaterCount;}
       }

有几种解决方案。
我想到的第一个

  • 接受指向写入结果int的指针
  • 返回 int s 的std::pair而不是单个值
  • 返回具有两个值的两个属性的struct
  • 返回一个包含两个值的数组(裸数组或std::array数组)

下面是一个示例:

std::pair<int, int> compareAverage(int numbers[], int count, double average) {
    std::pair<int, int> ret = std::make_pair<int, int>(0, 0);
    for (int i = 0; i < count; i ++) {
        if (numbers[i] <= average) {
            ret.first++;
        } else {
            ret.second++;
        }
    }
    return ret;
}