第五章 循环结构课后反思

第五章

思考有七个图形,观察发现前4个类型差不多,后两个又是一个类型,最后一个最难,最有挑战性。

因此我选择做了3个,然后其他的在这3个上做改变,得到结果。

1、第一个,可以看成分为上下两部分。

代码为:

#include<stdio.h>
main()
{
    int i,j,k;
    for(i=1;i<=5;i++)
    {
        for(j=1;j<=(5-i);j++)
           printf(" ");
        for(k=1;k<=(2*i-1);k++)
           printf("*");
        printf("
");
    }
    int n=7;
    for(i=1;i<=4;i++)
    {
        for(j=1;j<=i;j++)
           printf(" ");
        for(k=i;k<=n-i+1;k++)
           printf("*");
        printf("
");
    }
 } 

2、第二个,与第一个相同,也是上下两部分,区别在于每行的*个数的差异。

代码为:

#include<stdio.h>
main()
{
    int i,j,k;
    for(i=1;i<=5;i++)
    {
        for(j=1;j<=i;j++)
           printf(" ");
        for(k=1;k<=7;k++)
           printf("*");
        printf("
");
    }
     for(i=1;i<=4;i++)
    {
        for(j=i;j<=4;j++)
           printf(" ");
        for(k=1;k<=7;k++)
           printf("*");
        printf("
");
    }
}

前二个没什么难度,与老师上课讲的内容一样,都是讲的6个内容的叠加起来就能得到。

3、第三个,一看就是要分为3个部分。

我首先做了上面两层,与前面二个相识。

代码为:

#include<stdio.h>
main()
{
    int i,j,k;
    for(i=1;i<=5;i++)
    {
        for(j=1;j<=(5-i);j++)
           printf("  ");
        for(k=1;k<=(2*i-1);k++)
           printf(" *");
        printf(" 
");
    }
    for(i=1;i<=2;i++)
    {
        for(j=1;j<=9;j++)
           printf(" *");
        printf(" 
");
    }
}

最困难的也就是最下面一部分,中间有空格,并且最右边还有*。困扰了我很久,我按自己的想法尝试了一下,但是一直没结果。所以我询问了同学才知道可以在for里面嵌套3个循环。

代码为:

#include<stdio.h>
main()
{
    int i,j,k;
    for(i=1;i<=5;i++)
    {
        for(j=1;j<=(5-i);j++)
           printf("  ");
        for(k=1;k<=(2*i-1);k++)
           printf(" *");
        printf(" 
");
    }
    for(i=1;i<=2;i++)
    {
        for(j=1;j<=9;j++)
           printf(" *");
        printf(" 
");
    }
    for(i=1;i<=4;i++)
  {
    for(k=1;k<=5-i;k++)
     printf(" *");
     for(k=1;k<=2*i-1;k++)
     printf("  ");
     for(k=1;k<=5-i;k++)
     printf(" *");
     printf("
");
  }
 } 

 

反思:

    1、对于图形类,不能先盲目去打代码,要先将图形理解清楚,将其划分为几个简单的部分,然后一个一个去完成。

    2、经常会对细节把握不准,for里面的循环表达式会接“,”,而不是“;”,造成编译不成功。

    3、for循环的嵌套理解不深,不太会往for里面嵌套循环。

原文地址:https://www.cnblogs.com/1820678379wzy/p/10700880.html