C/C++教程

每日一练:C/C++打印菱形

本文主要是介绍每日一练:C/C++打印菱形,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

题目描述:

输入菱形的边长,然后根据输入菱形的边长打印出以该长度为边长的菱形。当输入的边长不合法时,提示重新输入。

问题分析:

个人思路:通过再一张纸上画菱形及观察别的大佬的打印菱形可知,菱形对角的长度为2倍的边长-1,因此比较容易能够判断菱形的高度和宽度,同时,在打印菱形中,可以将其想象为一个正方形内部打印,如果时菱形坐在位置,那么输出“*”,如果不是菱形所在位置,那么输出空格。由第一行逐行打印最终输出一个菱形。

代码实现:

 

运行结果:

 过程疑问:

在编写过程中,刚开时我曾试想过通过一个for循环直接从第一行打印至最后一行,但是在打印完最中间一行及上半部分的输出后,下面的有点苦恼,也试着引入一个从一开始的一个变量,但是因为行数的增加因此和上方的代码有些出入。

在刚开始编写过程中,会存在打印的图形和自己想要输出的图形有出入的情况,为了方便查出问题所在,我将每一行和每一列进行排序,通过每一个地方打印输出的内容来判断自己的问题出在哪里,如下图所示:

 

通过每一个输出点会输出那些内容,来让输出变得更加直观,能够极大的提升检查问题的所在。

然后通过修改所在问题点来进行纠正,最终输出正确图形。

 

 

 

这篇关于每日一练:C/C++打印菱形的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!