• 第五章 循环结构课后反思


    一、本章重点、难点

    重点:

    • 使用循环结构,编写程序,输出几何图形

    • 用于循环中的break语句和continue语句。

    难点:

    • 输出较为复杂的几何图形。

    • 循环结构的嵌套。

    • break语句和continue语句的区别。break是终止循环,而continue是提前进入下一循环。

    二、课内反思

    1、所学内容

    (1)for语句、while语句、do-while语句、break语句和continue语句。

    (2)使用循环结构输出指定几何图形。

    (3)控制计算机自动生成二元算数表达式。

    2、我的代码

    a

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

     以此类推,那么是不是可以不限行数,我想输出多少行,就能输出多少行,实践之后,我发现只要再加一个变量就可以啦。

    代码如下:

    #include<stdio.h>
    main()
    {
        int i,j,n;
        scanf("%d",&n);
        for(i=1;j<=n;i++)
        {
            for(j=1;j<=i;j++)
                printf("*");
            printf("
    ");
        }
    }

    b

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

    #include<stdio.h>
    main()
    {
        int i,j,n;
        scanf("%d",&n);
        for(i=1;i<=n;i++)
        {
            for(j=i;j<=n;j++)
                printf("*");
            printf("
    ");
        }
    }

    c

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

    #include<stdio.h>
    main()
    {
        int i,j,k,n;
        scanf("%d",&n);
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=(n-i);j++)
                printf(" ");
            for(k=1;k<=i;k++)
                printf("*");
            printf("
    ");
        }
    }

    d

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

    #include<stdio.h>
    main()
    {
        int i,j,k,n;
        scanf("%d",&n);
        for(i=1;i<=n;i++)
        {
            for(j=1;j<i;j++)
                printf(" ");
            for(k=i;k<=n;k++)
                printf("*");
            printf("
    ");
        }
    }

    e

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

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

    f

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

    #include<stdio.h>
    main()
    {
        int i,j,k,n,m;
        scanf("%d",&m);
        n=2*m-1;
        for(i=1;i<=m;i++)
        {
            for(j=1;j<i;j++)
                printf(" ");
            for(k=i;k<=(n-i+1);k++)
                printf("*");
            printf("
    ");
        }
    }

    三、课后习题

    #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(" ");
     }
    }

     思路:

    对此,我先将该图案分割成两部分,上面五行,下面四行。上面五行第一行一个空格,第二行两个空格……以此类推,可以得出空格与行数的规律,星号每行比前一行突出一个,因此可以得出前五行代码。后面四行与上面的相反,第一行四个空格,第二行三个空格……,星号每一行比上一行缩进一个,依次类推,可以得出下面四行代码。

    流程图:

    四、课后小结

            通过本章学习,我可以知道规则图形都可以举一反三的按照上面来,较复杂的图形可以将图形分为几部分,化繁为简。希望可以更多接触算法,感觉画流程图有点困难。通过这几个图案的代码,对学习C语言有了些感觉。我想,后面可能会比之前简单。

  • 相关阅读:
    J2ME 游戏开发之GameCanvas的使用
    J2ME游戏开发之字符串的绘制
    JS数组操作
    什么是LBS?地理位置服务
    js中的this怎么理解
    相机参数
    boost 移植到ARM EP9315
    armlinuxgcc 安装和配置
    小算法 : 水仙花数
    C语言标准库 文件操作
  • 原文地址:https://www.cnblogs.com/x-y-f/p/10701937.html
Copyright © 2020-2023  润新知