循环结构课后反思
---恢复内容开始---
本章重点讲了一下for循环语句,以及还有其他循环语句while、do_while,在第五章中末尾的7个题目中,要求我们自己编写代码来实现指定图形,我随机挑选了一个图形,就第四个吧。
书中要求编写的图形是这个,看到这个图形,就让我想到了书中例题example5_3a.c~example5_3f.c中的e图和f图的组合。然后思路就是编写一个代码,使例题中的两个图形代码组合起来便可得到该图形。先编好上面的倒三角形图形,代码如下:
#include<stdio.h> int main() { int i,j,k; for(i=1;i<=5;i++) { for(j=1;j<i;j++) printf(" "); for(k=1;k<=(11-2*i);k++) printf("*"); printf("\n"); } }
依旧是i控制行,j控制空格,k控制列,行和空格没什么问题,比较好控制,重点是*号,在这里面是有一个算法k<=(11-2*i),正好是一次每行输出*号个数9、7、5、3、1;
编辑运行的结果如下
接下来就是下半部分了,下半部分的代码也是按部就班,代码如下
难点也是控制列,列的 算法为k<=(2*i+1),即开头第一行为3个*。
最后上下两部分代码合并,就完成了。代码如下:
#include<stdio.h> int main() { int i,j,k; for(i=1;i<=5;i++) { for(j=1;j<i;j++) printf(" "); for(k=1;k<=(11-2*i);k++) printf("*"); printf("\n"); } for(i=1;i<=4;i++) { for(j=1;j<(5-i);j++) printf(" "); for(k=1;k<=(2*i+1);k++) printf("*"); printf("\n"); } }
运行结果如下:
课后反思:
这次课程学完for语句,让我们掌握了C语言循环结构的神奇之处,当然,这个也并不是这么简单的,一开始学还不知道这个怎么运行,后来多看书,自己上机操作后,才渐渐熟悉,知道了算法才是真正的核心。
---恢复内容结束---