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#快速的写了个方法,已经测过了
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 做个有关计算的小程序
- ¥15 MPI读取tif文件无法正常给各进程分配路径
- ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
- ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
- ¥15 setInterval 页面闪烁,怎么解决
- ¥15 如何让企业微信机器人实现消息汇总整合
- ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
- ¥15 如何用Python爬取各高校教师公开的教育和工作经历
- ¥15 TLE9879QXA40 电机驱动
- ¥20 对于工程问题的非线性数学模型进行线性化