Вывести последовательность из десяти чисел на консоль - PullRequest
0 голосов
/ 28 ноября 2011

Пользователь должен указать начальную точку и указать, должна ли последовательность быть восходящей или нисходящей.Пока он начинает считать и никогда не останавливается.Как мне сделать его остановленным после увеличения на 10. Могу ли я использовать оператор if, чтобы позволить пользователю выбрать сделать его возрастающим или убывающим?

class Program
{
    static void Main(string[] args)
    {
        int val;

        Console.WriteLine("Please enter a number!");

        val = Int32.Parse(Console.ReadLine());

        for (int i = val; i <= (val + 10); val++)
            Console.WriteLine(val);

        Console.ReadLine();
    }
}

Ответы [ 4 ]

7 голосов
/ 28 ноября 2011

Он никогда не останавливается, потому что вы увеличиваете val, и i всегда будет меньше val + 10 (вы никогда не увеличите i). Вместо этого вы должны увеличить i и использовать i внутри цикла.

static void Main(string[] args)
{           
    int val;            

    Console.WriteLine("Please enter a number!");

    val = Int32.Parse(Console.ReadLine());                                 

    for (int i = val; i <= (val + 10); i++)
      Console.WriteLine(i);            

    Console.ReadLine();         

}

Для восходящей и нисходящей частей вам также необходимо получить второй ввод от пользователя и, если он выберет нисходящий, создать цикл, который проверяет, если i >= (val - 10), и вместо этого идет i-- каждую итерацию.

1 голос
/ 28 ноября 2011
using System;
using System.Linq;

class Sample {
    static void Main(){
        const char down = '-';

        Console.Write("Please enter a number! n[{0}]:", down);
        string input = Console.ReadLine();

        char ch = input.Last();
        int diff = (ch == down) ? -1 : 1;
        int val = Int32.Parse(input.TrimEnd(down));

        for(var i = 1; i <= 10; i++, val += diff)
            Console.WriteLine(val);
    }
}

ДЕМО

Please enter a number! n[-]:10-
10
9
8
7
6
5
4
3
2
1

Please enter a number! n[-]:5
5
6
7
8
9
10
11
12
13
14
0 голосов
/ 28 ноября 2011
static void Main(string[] args)
{           
int val, isDecrement;            
Console.WriteLine("Please enter a number!");
val = Int32.Parse(Console.ReadLine());      

Console.WriteLine("Please enter 1 to go Descending order!");   
isDecrement = Int32.Parse(Console.ReadLine()); 

if(isDecrement ==1)
{
   for (int i = val; i >= (val - 10); i--)
     Console.WriteLine(i);            
}
else
{
for (int i = val; i <= (val + 10); i++)
  Console.WriteLine(i);            
}
Console.ReadLine();         

}
0 голосов
/ 28 ноября 2011

Изменить на:

static void Main(string[] args)
{           
    int val;            

    Console.WriteLine("Please enter a number!");

    val = Int32.Parse(Console.ReadLine());                                 

    for (int i = val; i <= (val + 10); i++)
        Console.WriteLine(i);            

    Console.ReadLine();         
}
...