C语言 循环'*'显示实心空心菱形

      最近刚刚把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),这样*的位置我们就得到了,其他不是*的位置均输出空格即可。

下面是部分源码:

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值