我正在尝试创建一个代码,该代码使用函数计算给定数组中正数和负数的数量。例如,在数组 {-1, 2, -3, 4.5 , 0, .3, -999.99} 中,它应该显示 2 个正数和 4 个负数并排除数字 0。

我正在使用两个计数器来跟踪有多少负数和正数,一个 for 循环来循环遍历数组,但是当调用 true 或 false 以显示正确的计数器时,我不知道如何合并 bool 参数.

我的代码没有输出正确的信息,任何提示都有助于改进我的代码。

#include <iostream>
using namespace std;

int countingArray(float list[], int size, bool)
{
    int NumberOfPositives = 0;
    int NumberOfNegatives = 0;
    for (int index = 0; index < size; index++) {
        if (list[index] > 0) {
            if (true) {
                NumberOfPositives++;
            }
        }
        else if (list[index] < 0) {
            if (false) {
                NumberOfNegatives++;
            }
        }
        else if (list[index] == 0)
            continue;
    }
    return NumberOfPositives;
    return NumberOfNegatives;
}

int main()
{
    float list[] = { -1, 2, -3, 4.5, 0, -3, -999.99 };

    cout << "# of Pos. = " << countingArray(list, 7, true) << endl;
    cout << "# of Pos. = " << countingArray(list, 7, false) << endl;

    system("PAUSE");
    return 0;
}

最佳答案

您不能 return 2 值。一旦你 return ,该函数立即结束。
因此,countingArray 只会返回您拥有的正数的数量,因为 return NumberOfPositives 出现在 return NumberOfNegatives 之前。

关于C++ 计算数组中正/负数的数量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40296508/

10-13 07:04