1条回答 默认 最新
- Jo.H 2020-10-26 17:41关注
void CreatDiamond(int height, char content) { if (height < 0 || height % 2 == 0) { return; } string log = GetContent(height, content); System.Console.Write(log); } string GetContent(int height, char content, int row = 0, int column = 0) { int half = height / 2; int rowIndex = row <= half ? row : height - 1 - row; if (row == height - 1 && column == half) { return content.ToString(); } else if (half == column - rowIndex) { return content + "\n" + GetContent(height, content, row + 1, 0); } else { //第一个字符的位置 int firstContent = half - rowIndex; if (column < half && column < firstContent) { return " " + GetContent(height, content, row, column + 1); } else return content + GetContent(height, content, row, column + 1); } }
用C#快速的写了个方法,已经测过了
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报