嘿所以我的功能需要根据用户输入在数组中添加一定数量的偶数。到目前为止,这是我的方法:
函数调用:
cout << "The sum of the first " << userSum << " even numbers is: " <<
SumEvens(list, SIZE, userSum);
功能定义:
int SumEvens(int arr[], const int size, int evensAdd)
{
int sum = 0;
for (int i = 0; i <= size; i++){
for (int j = 0; j <= evensAdd; j++){
if (arr[i] % 2 == 0)
sum += arr[i];
}
}
return sum;
}
我不确定我是否需要双循环,但似乎有必要让我可以浏览每个数字,然后只选择我需要的数字。
现在每当我运行这个程序并告诉它将数字加起来就会吐出垃圾,所以我看到你们是否可以在代码中指出任何明显的缺陷。谢谢!
答案 0 :(得分:1)
您的实施不正确:
int SumEvens(int arr[], const int size, int evensAdd)
{
for(int i= 0; i < size; i++){
std::cout << arr[i] << " ";
}
std::cout << std::endl;
std::cout << size << " " << evensAdd << std::endl;
int sum = 0;
for (int i = 0; i <= size; i++){
if(evensAdd==0) return sum
if (arr[i] % 2 == 0){
sum += arr[i];
evensAdd--;
}
}
}
return sum;
}
这不会在evenAdd > size