如何返回小于或等于平均值​​的int数量和大于平均值的int数量

时间:2016-02-21 22:09:32

标签: c++

我是新手。我不知道如何输出小于或等于平均值​​的int数和大于平均值的int数。我如何调用我的函数以便输出两个结果?

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;}
       }

1 个答案:

答案 0 :(得分:0)

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

  • 接受指向int的指针,在其中写下结果
  • 返回std::pairint而不是单个值
  • 返回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;
}