我需要填充数组并将该数组显示到控制台(以表格格式)。
这是我到目前为止所做的:
static void Main()
{
//Declare variables, strings and constants.
const int ROWS = 10;
const int COLS = 5;
const int MIN = 1;
const int MAX = 100;
int total = 0;
int[,] numbers = new int[ROWS, COLS];
Random rand = new Random();
//Populate the array
for (int r = 0; r < ROWS; ++r)
{
for (int c = 0; c < COLS; ++c)
{
numbers[r, c] = rand.Next(MIN, MAX + 1);
}
}
//Display the array to console (table format)
for (int r = 0; r < numbers.GetLength(0); ++r)
{
for (int c = 0; c < numbers.GetLength(1); ++c)
{
Console.Write("{0,6} ", numbers[r, c]);
if (c % 5 == 0) Console.WriteLine();
}
}
当我这样做时,我的显示器如果偏离1并且没有正确对齐10x5表。
答案 0 :(得分:0)
这是因为你的下一行:
if (c%5 == 0) Console.WriteLine();
请注意,第一个输出r = 0,c = 0,因此它会打印一个新行
答案 1 :(得分:0)
您可以检查列索引加一,c + 1
是否等于给定的列数COLS
,然后写一个新行:
if (c + 1 == COLS) Console.WriteLine();
另一种方法是在打印所有列后打印新行:
for (int r = 0; r < numbers.GetLength(0); ++r)
{
for (int c = 0; c < numbers.GetLength(1); ++c)
{
Console.Write("{0,6} ", numbers[r, c]);
}
Console.WriteLine();
}