数组添加奇数值

The*_*Guy 4 c# arrays math

我有一个小问题:我在这段代码中得到了所有奇数,但我不知道为什么它不会加起来所有的奇数负值.我对编码还是比较新的,所以如果你能保持简单,我会很感激.谢谢.

int total2 = 0;
int[] A = new int[12] {2,3,-5,-67,23,-4,243,-23,2,-45,56,-9};
for (int i = 0; i < A.Length; i++)
{
    if (A[i] % 2 == 1)
    {
        total2 += A[i];
    }
    Console.WriteLine("index: {0}  value: {1} total: {2}",
     i, A[i], total2);
}

Console.ReadKey();
Run Code Online (Sandbox Code Playgroud)

Hab*_*bib 10

对于负数%将返回-10.您正在检查它只针对1正数.

你可以做:

if ((A[i] % 2 == 1) || (A[i] % 2 == -1))
Run Code Online (Sandbox Code Playgroud)

或者使用 A[i] % 2 != 0

你也可以使用Math.Abs:

if(Math.Abs(A[i] % 2) == 1)
Run Code Online (Sandbox Code Playgroud)