我的循环中有一个(逻辑?)错误和一个数组

时间:2015-11-29 20:18:44

标签: c++ arrays

如果我的头衔很模糊,那么请耐心等待。我甚至尝试使用谷歌搜索我的问题并在这里搜索,但我真的想不出一个能最好地描述我的问题的句子。

我有一个任务,它是这样的:

编写一个读取一组整数的程序,然后查找并打印偶数和奇数整数的总和

我已经考虑过解决方案,并决定使用数组存储用户将输入的数字,并使用if / else语句将偶数和奇数一起添加。到目前为止我的代码下面是偶数字的单词,但是我真的找不到为什么每当我尝试添加奇数时它最终会有一个非常大的数字。

例如:我输入13和17,我将得到4253907,即使我将奇数和偶数放在数组的特定索引中,这也不会影响偶数。偶数将正确添加,但奇数不会。

这是我到目前为止所得到的

int length, evenSum, oddSum, temp, arsize;
cout <<"Input how many integers will be evaluated:  ";
cin >> length;
arsize = length-1;
int num[arsize];

for(int i = 0; i<=arsize; i++)
{
    cout<<"Input integer " << i+1 <<": ";
    cin>>num[i];
}

for(int i = 0; i<=arsize; i++)
{
    if(num[i]%2 != 0)
    {

        oddSum += num[i];

    }

 else 
    evenSum += num[i];
}

cout << "Sum of even integers: " << evenSum << endl;
cout << "Sum of odd integers: " << oddSum;

1 个答案:

答案 0 :(得分:1)

这应该有所帮助:

int evenSum = 0, oddSum = 0;

初始化变量。