今天主要还是练习,巩固最近的学习,从昨天未完成的钻石图开始。
①解决死循环问题,添加了一个变量j就好了,因为变量i本来就处在第一层循环中;完成效果输出了钻石上半部分但不居中显示;
②解决居中的问题,加入一个循环在输入星号前输入对应的空格,加入变量b处理空格输入;
③解决钻石的下半部分,将第一个for循环看成整体,循环变量i小于2倍n,以最长行n为中点输出星号,小于n时正序,大于n时逆序。最终结果如下图1所示。
图1.钻石图及源代码
完成过程中用到了dev-c++的调试功能,还是挺有用的,必须推荐,便于理清思路,这一招是从翁恺老师的视频教程中get到的。如下图2,一步一步的调试,看是否跟着自己的思路走的,可以及时更改。
图2.debug过程图
另外还有流程图,也是理清思路的一个方法,编写程序前试着画了画,但就是画不出来,那感觉有点像程序到嘴边了写不出一样,可惜这个技能还没有领会到。
不过最后程序完成后通过流程图生成工具生成了一副图,如下图3,还挺复杂的,不过条理还算清晰。希望早日自己能画出来。
图3.程序流程图
虽然最终是完成了,但不满意的是花费的时间比较长,如果是考试那也相当于挂了,所以还是不熟练,还要不断的多写多练。程序的实现的方法肯定也不是唯一的,并且程序的编写可能也还可以更精简,这都是后面需要不断学习的。
加油!
坚持!