C语言学习笔记01——循环'*'显示实心空心菱形

      最近刚刚把C语言又重新学了一遍,真的是要好好整理下学过的内容,不然总是容易在写代码的时候犯错。因此想要将一些自己在编写过程中的体会和感悟都记录下来,以后也方便重温。

       好了,废话不多说,当我们把C语言最基础的分支、循环都学习完后,就可以开始描绘简易的图形,本文主要描述两种图形,如下:

                                                       


       实心菱形的主要思路:将菱形分为上5行,下4行两部分。先分析上5行,假设行数为n,那么每一行都是由5-n个空格和

2*n-1个'*'组成的。在分析下4行,同样假设行数为n,且n从1开始,那么每一行就是由n个空格和2*(5-n)-1个*组成。


        空心菱形的思路:一开始其实我是想用实心菱形的思路,通过输出空格  *  空格 * 的方式显示图形,但我发现这样做的话第一行就会有两个*,是错误的,于是我就换了一个思路。如下:

    

单分析上5行,可以看到中间数5就是最大行数,设行数为n,那么下列每一行的首数字就是5-(n-1),尾数字就是5+(n-1),这样*的位置我们就得到了,其他不是*的位置均输出空格即可。

下面是部分源码:


猜你喜欢

转载自blog.csdn.net/canger_/article/details/80170600
今日推荐