C#如何实现多个三角形在控制台中横向并排打印输出?
C#控制台横向并排输出三角形修改方案
原代码问题
原代码逻辑是逐个完整输出单个三角形后再输出下一个,最终效果为多个三角形纵向堆叠排列。
原代码如下:
Console.WriteLine("Enter the number of triangles: "); int n = int.Parse(Console.ReadLine()); for (int i = 0; i < n; i++) { for (int j = 0; j < n + 1; j++) { for (int k = 0; k < j; k++) Console.Write("+"); Console.WriteLine(); } }
修改思路
要实现横向并排输出,只需调整循环嵌套顺序,改为按「公共行」维度输出:同一行高度下,先把所有三角形对应行的内容全部输出完成后,再进行换行,同时补充空格保证对齐即可。
修改后完整代码
Console.WriteLine("Enter the number of triangles: "); int n = int.Parse(Console.ReadLine()); // 遍历所有三角形共用的行号,每个三角形共n+1行 for (int j = 0; j < n + 1; j++) { // 遍历每个待输出的三角形 for (int i = 0; i < n; i++) { // 输出当前三角形当前行的+号 for (int k = 0; k < j; k++) Console.Write("+"); // 补空格保证每个三角形宽度一致,避免错位 for (int k = 0; k < n - j; k++) Console.Write(" "); // 三角形之间加空格分隔 Console.Write(" "); } // 所有三角形当前行输出完毕,换行 Console.WriteLine(); }
效果说明
输入数值后,多个三角形从左到右横向排列,所有三角形底部对齐,每行+号逐行递增,排列整齐无错位。
内容的提问来源于stack exchange,提问作者xprercsion
相关产品推荐
相关产品推荐

