如何使用C# Console绘制左上角重叠的嵌套空心正方形图案
C#控制台绘制指定嵌套正方形图案方案
问题原因
你当前代码的问题是没有限制小正方形边框的生效范围:只要行/列下标等于num2-1就全局绘制星号,导致十字贯穿整个大正方形,不符合仅左上角重叠小正方形边框的要求。同时你每个星号额外加了两个空格,会导致图案间距错位。
修改后代码
int num1, num2, i, j; Console.WriteLine("Input 1"); num1 = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Input 2"); num2 = Convert.ToInt32(Console.ReadLine()); for (i = 0; i < num1; i++) { for (j = 0; j < num1; j++) { // 大正方形边框直接绘制星号 if (i == 0 || i == num1 - 1 || j == 0 || j == num1 - 1) { Console.Write("*"); } // 仅在小正方形区域内(左上角重叠区域)绘制小正方形的底、右边框 else if (i < num2 && j < num2 && (i == num2 - 1 || j == num2 - 1)) { Console.Write("*"); } else { Console.Write(" "); } } Console.WriteLine(); } Console.ReadLine();
效果验证
输入1为5、输入2为3时,输出和你要求的预期效果完全一致:
***** * * * *** * * * *****
内容的提问来源于stack exchange,提问作者Rayner Pangan
相关产品推荐
相关产品推荐

