正如你可以从标题中读到的,我试图将两个数字之间的所有数字存储在一个数组中。例如,将 21 到 43 (22,23,24,25,26,27,28,29...) 之间的数字存储在一个数组中。
这是代码,我不知道为什么,但它只打印较高的数字减一。
class Program
{
static void Main(string[] args)
{
int higher = 43;
int lower = 21;
int[] numbers = new int[22]; //the numbers between 21 and 43 are 22
for (int i = lower; i < higher;i++)
{
for (int a = 0; a < 22; a++)
{
numbers[a] = i;
}
}
for (int c = 0; c < 22; c++)
{
Console.WriteLine(numbers[c]);
}
Console.ReadLine();
}
}
每次遍历 i 时,都会将该数字放入数组的每个插槽中。内循环是导致您出现问题的原因。更好的解决方案是:
int higher = 43;
int lower = 21;
int[] numbers = new int[21];
int index = 0;
for (int i = lower + 1; i < higher; i++) // if you want to store everything
// between 21 and 43, you need to
// start with 22, thus lower + 1
{
numbers[index] = i;
index++;
}
for (int c = 0; c < 21; c++)
{
Console.WriteLine(numbers[c]);
}
Console.ReadLine();
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句