簡體   English   中英

如何同時返回小於或等於平均值​​的整數和大於平均值的整數

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

我是新手。 我不知道如何輸出小於或等於平均值​​的整數數量和大於平均值的整數數量。 我需要如何調用函數以使其輸出兩個結果?

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指針
  • 返回一個intstd::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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM