举一反三,如何打印金字塔、菱形

举一反三,如何打印金字塔、菱形

看了视频好像会了循环,但是自己着手想 打印 如下的金字塔:

        *

       * *

      * * *

    * * * * *

却做不出来,逻辑混乱了。是不是自己太笨了,请问老师有没有好的方法帮助提高?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
imooc_澈 2017-06-04 18:35:34

同学您好,学习循环有一个循序渐进的过程,建议你能够耐下性子,慢慢学,遇到不会的也不要着急,可以在问答区向老师提问,学习过程中尽可能多多实践,把基础打牢,多思考多总结,俗话说孰能生巧,在逐渐积累的过程中,举一反三也就不是什么难事了。

用循环解决问题的关键所在是找到问题的规律,对于你截图中金子塔的实现,我们通过分析可以看到1~3行的‘*’的出现规律是第一行有一个‘*’,弟二行就有两个,第三行有三个,以此类推,第四行应该是四个‘*’,第n行就应该有n个,且每两个‘*’之间有一个空格;另外,每一行的第一个‘*’并不是紧挨着浏览器左边线输出的,而是先输出很多空格,再输出‘*’,这些空格的输出规律其实也很容易看出来,最后空格一行即第n行的第一个‘*’前面输出的空格数为0,那么倒数第二行前面的空格数应该为1,倒数第三行前面的空格数应该为2,以此类推,第一行前面的空格数应该为n-1。分析到这里,打印这个金子塔的代码也就浮现出来了。

第一步:行循环,如果这个金子塔是n行的,那么我们就要循环n次。

第二部:每一行里面我们都要打印出空格和*,那么根据每一行里需要打印出的空格和*号数,我们还要在行循环里设置两个子循环,分别用于打印每一行的空格和*,根据我们上面这个金子塔组成规律的分析,这三个循环实现起来就很容易了,如下图所示(仅供参考),如果解决了你的问题,请采纳,祝学习愉快~

http://img1.sycdn.imooc.com/climg//5933e23c000152db01490224.jpg

http://img1.sycdn.imooc.com/climg//5933e23c000167b909370475.jpg


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师