Как сделать каждое число 1-1000, чтобы показать, что это, например, нечетное / четное, более 500 - PullRequest
0 голосов
/ 23 января 2012

OK. Я уже давно пробую этот код. Я хочу написать программу, которая печатает цифры 1-1000. Для каждого числа я хочу показать, является ли оно нечетным / четным, меньше или меньше 250, больше или равно 250 и меньше 500, больше или равно 500 и меньше 750 или больше, или равно 750. Это мой код, но он не работает, и я искал в IE и не нашел ничего, чтобы помочь.

for (int i = 0; i < 1001; i++) ;

        if ((i % 2) == 0)
        {
            Console.WriteLine(i + " is even ");
        }
        else
        {
            Console.WriteLine(i + " is odd ");
        }
        if (i < 250)
        {
            Console.WriteLine(" is less than 250");
        }
        else
        {
            Console.WriteLine("");
        }
        if (i >= 250)
        {
            if (i < 500)
            {
                Console.WriteLine(" is greater than or equal to 250 and less than 500 ");
            }
            else
            {
                Console.WriteLine("");
            }
            if (i >= 500)
            {
                if (i < 750)
                {
                    Console.WriteLine(" is greater than or equal to 500 and less than 750 ");
                }
                else
                {
                    Console.WriteLine("");
                }
                if (i >= 750)
                {
                    Console.WriteLine(" is greater than or equal to 750  ");
                }
                else
                {
                    Console.WriteLine("");
                }
                Console.ReadLine();

Я думаю, что это "я", поскольку есть ошибки, говорящие, что он не существует в текущем контексте. Как сделать так, чтобы он не говорил, что делает код лучше? Правильно ли я получил остальное? Пожалуйста, помогите.

Ответы [ 3 ]

11 голосов
/ 23 января 2012

Ваш цикл for никогда не выполняет ничего, кроме «пустых инструкций».Снимите ; в конце:

for (int i = 0; i < 1001; i++) ;

Также заключите в фигурные скобки следующие инструкции:

for (int i = 0; i < 1001; i++)
{
    // rest of instructions
}
5 голосов
/ 23 января 2012

Попытка удалить ; позади него и заключить остальную часть кода в {}.

Вы также можете значительно уменьшить размер кода, объединив свой ifelse операторов вместе и удаление лишних проверок.

Наконец, не забудьте поместить свой Console.ReadLine вне цикла (если вы не хотите приостанавливать программу после каждого числа).

for (int i = 0; i < 1001; i++)
{
    if ((i % 2) == 0)
        Console.Write(i + " is even ");
    else
        Console.Write(i + " is odd ");

    if (i < 250)
        Console.WriteLine("and is less than 250");
    else if (i < 500)
        Console.WriteLine("and is greater than or equal to 250 and less than 500 ");
    else if (i < 750)
        Console.WriteLine("and is greater than or equal to 500 and less than 750 ");
    else
        Console.WriteLine("and is greater than or equal to 750 ");     
}

Console.ReadLine();
2 голосов
/ 23 января 2012

Как указал Тудор, вы должны удалить ; после оператора for.

Вы также забыли обернуть все, что должно быть внутри цикла, в фигурные скобки, { и }.

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