如何实现用户自定义尺寸的矩形数组并遍历输出?C#作业问题求解
代码问题梳理
- 未实现「先创建矩形数组存储值,再输出数组内容」的要求:你当前的逻辑是直接计算数值后打印,没有将值存入定义的
rectArray数组中 - 输出格式逻辑错误:你将换行和额外行号打印的逻辑放在了列遍历之前,导致输出内容错位、出现多余的行号数字,不符合预期格式
- 换行时机错误:每一行的所有列内容打印完成后才需要换行,你当前的换行时机完全错误
修正后的代码
static void Main(string[] args) { Console.WriteLine("请输入一个正整数:"); // 读取用户输入的数值 int userValue = int.Parse(Console.ReadLine()); // 校验输入值范围在1-10之间 if (userValue <= 10 && userValue > 0) { // 定义对应尺寸的二维矩形数组 int[,] rectArray = new int[userValue, userValue]; // 第一步:先给数组所有元素赋值 for (int row = 0; row < rectArray.GetLength(0); row++) { for (int column = 0; column < rectArray.GetLength(1); column++) { rectArray[row, column] = row + column + 1; } } // 第二步:打印输出数组的所有值 Console.WriteLine("数组的所有值如下:"); for (int row = 0; row < rectArray.GetLength(0); row++) { for (int column = 0; column < rectArray.GetLength(1); column++) { Console.Write(" " + rectArray[row, column]); } // 每一行打印完成后换行 Console.WriteLine(); } Console.ReadKey(); } else { Console.WriteLine("输入的数值需要为1到10之间的正整数。"); Console.ReadKey(); } }
核心调整说明
- 拆分了数组赋值和数组打印两个流程,符合作业要求的「先创建数组存储值再输出」的规则
- 删除了错误的行号打印逻辑,将换行操作移动到每一行所有列打印完成之后,保证输出格式和预期一致
- 优化了变量命名,把
file改为更易理解的row(行),降低逻辑理解成本
内容的提问来源于stack exchange,提问作者César Higashi
相关产品推荐
相关产品推荐

