题目描述:
输入菱形的边长,然后根据输入菱形的边长打印出以该长度为边长的菱形。当输入的边长不合法时,提示重新输入。
问题分析:
个人思路:通过再一张纸上画菱形及观察别的大佬的打印菱形可知,菱形对角的长度为2倍的边长-1,因此比较容易能够判断菱形的高度和宽度,同时,在打印菱形中,可以将其想象为一个正方形内部打印,如果时菱形坐在位置,那么输出“*”,如果不是菱形所在位置,那么输出空格。由第一行逐行打印最终输出一个菱形。
代码实现:
运行结果:
过程疑问:
在编写过程中,刚开时我曾试想过通过一个for循环直接从第一行打印至最后一行,但是在打印完最中间一行及上半部分的输出后,下面的有点苦恼,也试着引入一个从一开始的一个变量,但是因为行数的增加因此和上方的代码有些出入。
在刚开始编写过程中,会存在打印的图形和自己想要输出的图形有出入的情况,为了方便查出问题所在,我将每一行和每一列进行排序,通过每一个地方打印输出的内容来判断自己的问题出在哪里,如下图所示:
通过每一个输出点会输出那些内容,来让输出变得更加直观,能够极大的提升检查问题的所在。
然后通过修改所在问题点来进行纠正,最终输出正确图形。
标签:输出,打印,C++,菱形,边长,图形,输入 来源: https://blog.csdn.net/Super_XiaoXiaoLi/article/details/122060799
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。