循环结构课后反思

---恢复内容开始---

本章重点讲了一下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语言循环结构的神奇之处,当然,这个也并不是这么简单的,一开始学还不知道这个怎么运行,后来多看书,自己上机操作后,才渐渐熟悉,知道了算法才是真正的核心。

 

 

 

 

---恢复内容结束---

posted @ 2019-04-13 14:13  IoT小白  阅读(314)  评论(0编辑  收藏  举报