我正在尝试创建一个代码,该代码使用函数计算给定数组中正数和负数的数量。例如,在数组 {-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/