第五章 循环结构课后反思

Posted ylpforever

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第五章 循环结构课后反思相关的知识,希望对你有一定的参考价值。

第五章 循环结构课后反思

课后练习:

第一个练习的代码如下:
#include"stdio.h"
main()
{
    int i,j,k;                                 //定义整形变量 
    for(i=1;i<=9;i++)                          //用i定义总行数 
    {
        if(i<=5)                               //使用if语句判断i是否大于等于5 
        {
            for(j=5-i;j>0;j--)                 //使用j循环输出图案前的空格 
            {
                printf(" ");
            }
            for(k=i*2-1;k>0;k--)               //使用k循环输出图案* 
            {
                printf("*");
            }
            printf("
");                      //在执行完一遍循环后换行 
        }
        else
        {
            for(j=i-5;j>0;j--)                 //在i大于5时,j循环输出空格 
            {
                printf(" ");
            }
            for(k=(10-i)*2-1;k>0;k--)          //i》5时,k循环输出图案* 
            {
                printf("*");
            }
            printf("
");                      //在执行完一遍循环后换行 
        }
    }
}
 
第一个练习的图案如下:

技术图片

代码解析:第一次练习的代码,主要是靠循环语句实现图案的输出,通过将整个图案的分块来分别实现相应的图案安输出,
再进行组合,并且使用if语句来辅助判断不同的模块,虽然增加了代码的复杂性,但是可以使思路更加清晰。
实验难点与反思:我认为实验中的难点就在于将图案进行分块,在图案分块之后,就可以分开实现相应的图案了,难度会
降低很多的。对于图案的分析很重要,其次,循环语句的正确使用也很重要。
前六个实验均可用同一套路实现,在此不多加描述。
第七个课后练习代码如下:
#include"stdio.h"
main()
{
    int i,j,k,z;                                       //定义整形变量 
    for(i=1;i<=11;i++)                                 //使用i确定总行数 
    {
        if(i<=5)                                       //判断i是否小于等于5来区别输出图案,分块输出 
        {
            for(j=1;j<=20-4*i;j++)                     //使用j输出第一部分的空格 
            {
                printf(" ");
            }
            for(k=21-4*i;k<=13+4*i;k=k+4)              //使用k输出第二部分的*与空格相间的图案 
            {
                printf("*");
                printf("   ");
            }
            printf("
");                              //执行完一遍循环后换行 
        }
        else
        {
            if(i<=7)                                   //再判断i是否小于等于7来再次将图案分块 
            {
                for(k=1;k<=33;k=k+4)                   //使用k输出该模块的图案 
                {
                    printf("*");
                    printf("   ");
                }
                printf("
");                          //执行完一遍循环后换行 
            } 
            else
            {
                for(j=0;j<=16-(i-7)*4;j=j+4)           //在i大于7时,使用j输出第一部分的图案 
                {
                    printf("*");
                    printf("   ");
                }
                for(k=1;k<=1+(i-8)*8;k++)              //在i大于7时,使用k输出第二部分的图案 
                {
                    printf(" ");
                }
                for(z=17+(i-7)*4;z<=33;z=z+4)          //在i大于7时,使用z输出第三部分的图案 
                {
                    printf("   ");
                    printf("*");
                }
                printf("
");                          //执行完一次循环后换行 
            } 
        } 
    }
}
第七个课后练习图案如下:

技术图片

代码解析:第七次练习的代码依然是主要依靠for语句的循环来输出图案,将整个图案进行分块,分成六块,再进行拼接即可
得到需要输出的图案。
实验难点与反思:第七次练习的主要难点是将图案分为六块,并且每一块的输出都要进行分析与计算,会显得比较繁杂,很
可能会出错。我们应该要耐心地进行代码的分析,不要着急,一步一步来。
实验总体感悟:我觉得循环语句是目前学到的最具有灵活性的语句,可以实现很多功能,但同时也会有更多需要注意的点在
里面,我认为,学习循环结构,最重要的是要有耐心,并且细心,很多时候一个细节可能导致整个代码的错误,很容易使人心烦
气燥,所以我会尽我所能地去学好循环结构这一节课的。






以上是关于第五章 循环结构课后反思的主要内容,如果未能解决你的问题,请参考以下文章

第五章 循环结构课后反思

第五章循环结构课后反思

第五章 循环结构课后反思

第五章 循环结构课后反思

第五章 循环结构课后反思

第五章循环结构课后反思