每日一练:C/C++打印菱形
作者:互联网
题目描述:
输入菱形的边长,然后根据输入菱形的边长打印出以该长度为边长的菱形。当输入的边长不合法时,提示重新输入。
问题分析:
个人思路:通过再一张纸上画菱形及观察别的大佬的打印菱形可知,菱形对角的长度为2倍的边长-1,因此比较容易能够判断菱形的高度和宽度,同时,在打印菱形中,可以将其想象为一个正方形内部打印,如果时菱形坐在位置,那么输出“*”,如果不是菱形所在位置,那么输出空格。由第一行逐行打印最终输出一个菱形。
代码实现:
运行结果:
过程疑问:
在编写过程中,刚开时我曾试想过通过一个for循环直接从第一行打印至最后一行,但是在打印完最中间一行及上半部分的输出后,下面的有点苦恼,也试着引入一个从一开始的一个变量,但是因为行数的增加因此和上方的代码有些出入。
在刚开始编写过程中,会存在打印的图形和自己想要输出的图形有出入的情况,为了方便查出问题所在,我将每一行和每一列进行排序,通过每一个地方打印输出的内容来判断自己的问题出在哪里,如下图所示:
通过每一个输出点会输出那些内容,来让输出变得更加直观,能够极大的提升检查问题的所在。
然后通过修改所在问题点来进行纠正,最终输出正确图形。
标签:输出,打印,C++,菱形,边长,图形,输入 来源: https://blog.csdn.net/Super_XiaoXiaoLi/article/details/122060799