C#控制台程序输出居中显示的等腰三角形
探讨如何在C#控制台应用中绘制居中的等腰三角形,重点解析使用Console.SetCursorPosition方法实现左右自动对齐的技术细节。
实现原理与逻辑
在控制台界面中输出规则图形时,默认的左对齐往往无法满足视觉美观需求。要实现等腰三角形的居中显示,关键在于每一行的内容长度不同(第n行有2n-1个字符),因此每行的起始光标位置必须根据当前行文本长度进行动态调整。计算公式为:(Console.WindowWidth - row.Length) / 2,这能将文本块的左边缘置于屏幕中央偏左半个字符宽度的位置,从而实现视觉上的居中效果。
操作步骤与代码实现
第1步:输入目标行数
程序首先提示用户输入想要打印的三角形高度。读取输入并将其转换为整数类型,同时清空控制台以提供更整洁的输出环境。
Console.WriteLine("请输入要打印的行数:");
int n = Convert.ToInt32(Console.ReadLine());
Console.Clear(); //清除以上显示的内容
第2步:外层循环控制行数
定义一个变量 row 用于临时存储当前行构建的星号字符串。外层循环从第1行迭代到第n行,每次迭代开始时重置 row 为空字符串,确保上一行的残留数据不会影响当前行。
string row = "";
for (int i = 1; i <= n; i++)
第3步:内层循环生成星号序列
对于第 i 行,等腰三角形的边长对应着 2 * i - 1 个星号。内层循环负责逐个拼接这些星号至 row 字符串中。
for (int j = 1; j <= 2 * i - 1; j++)
{
row += "*";
}
第4步:计算坐标并执行居中打印
这是实现居中的核心步骤。调用 Console.SetCursorPosition(x, y) 方法将光标移动到指定位置。x 坐标通过上述公式计算得出,y 坐标直接对应当前行数 i。移动完成后,使用 Console.WriteLine(row) 输出该行内容并自动换行。
//设置打印出来的*居中显示
Console.SetCursorPosition((Console.WindowWidth - row.Length) / 2, i);
Console.WriteLine(row);
row = "";
注意事项
Console.WindowWidth 获取的是终端窗口的总列数。如果用户调整了命令行窗口的大小,或者在不同分辨率/字体设置下运行,居中的视觉效果会相应自动适配。此外,由于控制台使用的是固定宽度字体(Fixed Width Font),基于字符计数的居中算法是准确且稳定的。
以上就是C#控制台程序输出等腰三角形并居中显示的详细内容,更多关于C#编程技巧的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









