порядок выполнения команды в цикле For - PullRequest
0 голосов
/ 24 января 2020

полный новичок до c#, так что будьте добры!

Я делаю онлайн-урок, и у меня есть простая процедура For l oop следующим образом:

using System;

public class Program
{
    public static void Main()
    {
        Console.WriteLine(" "); 
        Console.WriteLine("C# code tutorial - day 1"); 
        Console.WriteLine(" "); 

for(int i = 1; i <= 16; i++)
{
    if(i % 2 == 1) Console.WriteLine("i is even: " + i);
    else Console.WriteLine("i is odd");
}
}
}

, но вывод не совсем то, что я хочу:

C# учебник по коду - день 1

i четный: 1

i нечетный

i четный: 3

я нечетный

я четный: 5

я нечетный

я четный: 7

я нечетный

я четный: 9

я нечетный

я четный: 11

я нечетный

я четный: 13

i нечетный

i четный: 15

i нечетный

Я подозреваю, что он выполняет команды не совсем в том порядке, в котором я хочу, но Я понятия не имею, как это исправить.

Идеи, пожалуйста ...

Ответы [ 2 ]

4 голосов
/ 24 января 2020

даже для случая, когда у него есть 0 в качестве напоминания при делении на 2. Итак:

if(i % 2 == 0) 
{
  Console.WriteLine($"i is even: {i}");
}
else 
{
  Console.WriteLine($"{i} is odd");
}
0 голосов
/ 24 января 2020

if(i % 2 == 1) интерпретируется как деление на два и проверяется, что остаток равен 1. Это означает, что i - нечетное число, а не четное, как указано в вашем коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...