将 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();
这将为您提供正确顺序的数组。
我想将 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();
这将为您提供正确顺序的数组。