You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 06:54:04