将 for 循环的结果存储到数组中并反转它?

storing the result of a for loop into array and revrse it?

我想将 for 循环的结果存储在一个数组中然后反转它。 例子: 当我 运行 程序并输入 5 时,答案将是

54321

我希望它是

12345

int num;
int index = 0;
Console.Write("Number: ");
num = int.Parse(Console.ReadLine());
for (int x = num; x > 0; x--)
{
    index = Convert.ToInt32(index + x);
    Console.Write(x);
}
Console.WriteLine("\nThe sum is: {0}", index);
Console.ReadLine();

这个怎么样?

Console.Write("Number: ");
var num = int.Parse(Console.ReadLine());   // parse console input
var range = Enumerable.Range(1, num);   //generate array of values from 1 to num
var str = String.Concat(range.Select(x => x.ToString()));   //concatenate array of values
Console.WriteLine(str);     // write string
var sum = range.Sum(); // get sum of array
Console.WriteLine("\nThe sum is: {0}", sum);   // write sum
Console.ReadLine();   // pause

试试这个

自动递增到总长度

使用这个

Console.WriteLine("Input length");
int length;
if (!int.TryParse(Console.ReadLine(), out length))
{
    Console.WriteLine("Invalid number");
}
else
{
    int[] array = new int[length];
    for (int i = length; i > 0; i--)
    {
        array[length - i] = i;
    }
    Console.WriteLine("Array is");
    foreach (var i in array)
    {
        Console.WriteLine(i);
    }
    Console.WriteLine("Reverse Array is");
    foreach (var i in array.Reverse())
    {
        Console.WriteLine(i);
    }
}
Console.ReadKey();

要获取用户的每个号码,试试这个

private static void Main(string[] args)
{

    Console.WriteLine("Input length");
    int length;
    if (!int.TryParse(Console.ReadLine(), out length))
    {
        Console.WriteLine("Invalid number");
    }
    else
    {
        int[] array = new int[length];
        for (int i = length; i > 0; i--)
        {
            int input;
            Console.WriteLine("Input number");
            if (!int.TryParse(Console.ReadLine(), out input))
            {
                Console.WriteLine("Invalid number");
                input = 0;
            }
            array[length - i] = input;
        }
        Console.WriteLine("Array is");
        foreach (var i in array)
        {
            Console.WriteLine(i);
        }
        Console.WriteLine("Reverse Array is");
        foreach (var i in array.Reverse())
        {
            Console.WriteLine(i);
        }
    }
    Console.ReadKey();
}

好的,none 这些回复确实会满足您的要求,但我不得不说您的示例确实具有误导性。

试试这个:

public int[] ArrayAndReverse(int Number)
{

    int[] data = new int[Number];
    int index = 
    for (int x = Number; x > 0; x--)
    {
        index = Convert.ToInt32(index + x);
        Console.Write(x);
    }
    return data.Reverse().ToArray();

}

现在您可以在您的控制台代码中执行以下操作:

Console.Write("Number: ");
num = int.Parse(Console.ReadLine());
int[] data = ArrayAndReverse(number);
foreach(int i in data)
    Console.Write(i);

此外,不确定为什么你的循环已经反转,我想正如我所说的这个例子确实具有误导性,否则你可以使用:

int[] data = Enum.Range(1, number).ToArray();

这将为您提供正确顺序的数组。