伙伴云客服论坛»论坛 S区 S零代码 查看内容

0 评论

0 收藏

分享

程序员大神教你,新手零根底学C语言编程代码训练

我在文章中讲的东西他们都看懂了
但详细到自己写代码的时候却完全不晓得从何动手
其实看懂知识点例程和真正学会写代码之间相差了好几条街
我一再强调
学编程没有捷径
只要老老实实地敲代码
接下来以训练为主
1. 例题
今天我们先来讲解一道C语言的经典例题,也是从零开端系列中的一道课后练习题。
请用控制台程序绘制如下图案。


循环经典例题
2. 分析
这个题目是要求打印30行"*",每行打印的个数不同。通过这个信息,我们应该立即反映出运用循环来完成。那么我们想想,在循环部分我们都学到了什么。
关于循环,我首先会想到一些例题:
2.1 例题1
打印30个"*",每个"*"占一行。


2.2 例题2
打印一行"*",个数为30


这两个题目的代码只差一个,结果却完全不同。掌握了这两个例题,我们自然可以完成下面这个例题了。
2.3 例题3
打印一个由"*"组成的30行30列的矩阵。


执行结果如下:


30*30矩阵
我们再把例3的要求改一改,要求如下
2.4 例题4
打印30行“*”。第一行打印1个“*”,第二行打印3个“*”,第三行打印5个“*”,... ,第三十行打印59个“*”。
在前面的程序中,我们用变量i控制行的循环,变量j控制列的循环。i的范围0~29,j的范围0~29。那么在例题4中,i和j有什么样的关系呢?
于是得到这样一个关系:
那么如何实现循环2i + 1次呢,就是让j从0到2i + 1。
依照这个思路,可以得到下面的代码:


执行结果如下:


例题4
这里要说一个问题,其实for循环有两种常见形式:
for (i = 0; i

for (i = 1; i
这种写法执行的次数相同,可以互相替代。大部分C语言程序员喜欢第一种方式,因为数组的下标访问是从0开端的,这样写更方便。目前大家可以选择自己喜欢的方法。
好了,回到例题中来。如今我们的代码间隔目的输出已经很接近了,缺少的是在每行“*”之前需要输入不同数量的空格。我们分析i和空格数量,可以得到如下关系:
每行输出LINE - i个空格
于是,我们得到了最终的实现程序。
3. 答案


运行一下这段代码,你会看到打印结果就是最前面的那张图。
4. 课后练习
自己编写代码,打印出下面这张图。


菱形
下一篇会讲解这个程序,请大家先做练习。







回复

举报 使用道具

全部回复
暂无回帖,快来参与回复吧
本版积分规则 高级模式
B Color Image Link Quote Code Smilies

萌晓
注册会员
主题 18
回复 22
粉丝 0
|网站地图
快速回复 返回顶部 返回列表