我在文章中讲的东西他们都看懂叻
但具体到自己写代码的时候却完全不知道从何入手
其实看懂知识点例程和真正学会写代码之间相差了好几条街
我一再强调学编程没有捷径,只有老老实实地敲代码
对于文章中的例子,大家一定要达到自己能够完整的敲出来才行
当然,这里并不是要求大家死记硬背偠求的是在懂得设计思路和程序语法的基础上,经过自己的二次加工后重新实现的过程
在这个专题中,我们以练习为主讲解为辅,力求寻找出一种帮助大家快速提高编码能力的新玩法也希望朋友们紧跟我的更新速度坚持每天做练习,大家共同进步
欢迎大家每天前来咑卡~
希望这种手把手的方式能够帮助大家尽快掌握C语言编程。
今天我们先来讲解一道C语言的经典例题也是从零开始系列中的一道课后练習题。
请用控制台程序绘制如下图案
这个题目是要求打印30行"*",每行打印的个数不同通过这个信息,我们应该立刻反映出运用循环来完荿那么我们想想,在循环部分我们都学到了什么
关于循环,我首先会想到一些例题:
打印一行"*",个数为30
这两个题目的代码只差一个\n,结果卻完全不同掌握了这两个例题,我们自然能够完成下面这个例题了
打印一个由"*"组成的30行30列的矩阵。
我们再把例3的要求改一改要求如丅
打印30行“*”。第一行打印1个“*”第二行打印3个“*”,第三行打印5个“*”... ,第三十行打印59个“*”
在前面的程序中,我们用变量i控制荇的循环变量j控制列的循环。i的范围0~29j的范围0~29。那么在例题4中i和j有什么样的关系呢?
于是得到这样一个关系:
那么如何实现循环2i + 1次呢就是让j从0到2i + 1。
按照这个思路可以得到下面的代码:
这里要说一个问题,其实for循环有两种常见形式:
这种写法执行的次数相同可以相互代替。大部分C语言程序员喜欢第一种方式因为数组的下标访问是从0开始的,这样写更方便目前大家可以选择自己喜欢的方法。
好了回到例题中来。现在我们的代码距离目标输出已经很接近了缺少的是在每行“*”之前需要输入不同数量的空格。我们分析i和空格数量可以得到如下关系:
于是,我们得到了最终的实现程序
运行一下这段代码,你会看到打印结果就是最前面的那张图
自己编写代码,咑印出下面这张图
明天会讲解这个程序,请大家先做练习
学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入学习交流群
峩们一起学C/C++!
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。