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

请求修复C#特定星号图案打印代码的逻辑错误

如何用C#打印指定的星号图案

你想要实现的目标星号图案是:

*   *   *   *
  ***
*******
  ***
*   *   *   *

你的现有代码问题分析

你当前的代码存在两个核心问题:

  1. 行数不符:你设置了n=7,循环执行7次输出7行,但目标图案只有5行;
  2. 逻辑规则错误:你用对角线(j==i || j==n-i+1)加中间行的条件,绘制的是菱形加横线的图案,和目标图案的星号位置规则完全不匹配。

修正后的代码

下面是能精准输出目标图案的代码,我们针对每行的星号位置规则做了明确的条件判断:

using System;

namespace Patterns
{
    class Asterisks
    {
        static void Main(string[] args)
        {
            // 目标图案为5行,每行11个字符(匹配你给出的星号间隔)
            int totalRows = 5;
            int totalCols = 11;
            
            for (int currentRow = 1; currentRow <= totalRows; currentRow++)
            {
                for (int currentCol = 1; currentCol <= totalCols; currentCol++)
                {
                    bool printStar = false;
                    
                    // 处理第一行和第五行:在1、4、7、10列打印星号(间隔3个空格)
                    if (currentRow == 1 || currentRow == 5)
                    {
                        printStar = currentCol == 1 || currentCol == 4 || currentCol == 7 || currentCol == 10;
                    }
                    // 处理第二行和第四行:在4、5、6列打印星号(居中的三个星号)
                    else if (currentRow == 2 || currentRow == 4)
                    {
                        printStar = currentCol >= 4 && currentCol <= 6;
                    }
                    // 处理第三行:在3-9列打印7个星号(居中)
                    else if (currentRow == 3)
                    {
                        printStar = currentCol >= 3 && currentCol <= 9;
                    }
                    
                    Console.Write(printStar ? "*" : " ");
                }
                Console.WriteLine();
            }
        }
    }
}

代码逻辑说明

  • 我们明确了总行数为5,总列数为11(刚好匹配你给出的第一行四个星号、每个间隔3个空格的格式);
  • 分三类情况处理每行:
    1. 第一行和第五行:固定在第1、4、7、10列打印星号,实现* * * *的效果;
    2. 第二行和第四行:在中间区域打印3个星号,实现 ***的居中效果;
    3. 第三行:在中间区域打印7个连续星号,实现*******的效果。

如果你希望星号间隔更小(比如间隔1个空格),可以把总列数改为7,并调整对应列的判断条件,代码逻辑是类似的。

内容的提问来源于stack exchange,提问作者user16480262

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 22:47:33