zoukankan      html  css  js  c++  java
  • 第五章 循环结构课后反思

    本章重点、难点:

    第五章整个内容中重点应该是是for语句将图案表示出来和break语句及continue语句是什么时候跳出来的;难点我觉得是用for语句的方法将图案在计算机中表示出来,刚开始的时候可能听的一头雾水,但是只要了解i,j,k是什么和跟着老师的思路去每行每列去推的话还是能够看懂的。

    掌握了哪些知识点

    掌握的内容有for语句运用,while语句和do while语句及用于循环中的break语句和continuous语句;最后是一些循环嵌套结构。

    课本案例详解:

    书上108页的七个图案,前面六个来说还是比较简单的,都是大同小异的方法,弄懂第一个其他是没有问题的

    1.第一个图案(我先分析的是前五行,在分析后面部分的,也还算简单。)

    代码:

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

    2.第七个图案(我是对整个图形分成了四部分,按照由上到下的顺序写代码,刚开始对于第三.四部分的图有点无从下手,后面发现只要把这两个图形写在同一个for里面,再把空格和星星的顺序换一下就好了)

                                 第一部分   

    第二部分      第三部分       第四部分         第五部分 

    代码:

    #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<=5;i++)   
            {   
            for(j=1; j<=(5-i);j++)   // 下面左边三角形表示 
                   printf(" * "); 
            for(k=1;k<=(2*i-1);k++)
                   printf("   ");
                  
                  
            for(j=1;j<=(5-i);j++)  
                   printf(" * ");  //下面右边三角形的表示 
                      printf("
    ");   
            }   
        }
            
       

    总结:虽然还是对于for语句不是很熟悉,特别是图形的时候,容易弄错j会等于1还是i,但是还是摸索出了这一类题目规律,就是你找到每行每列的规律,然后在变一些就能得出,再就是的话就是善于分解图形,找到便捷的方法解决。

  • 相关阅读:
    DP--HDU 1003求数字串中的最大连续序列(含有DP过程详细分析)
    递归+DFS--简单迷宫问题--百练2802
    枚举--百练2812--恼人的青蛙(内含枚举基本思想总结)
    计蒜客:最大子阵
    hdu 4515 小Q系列故事——世界上最遥远的距离
    日期计算
    最大最小公倍数
    hdu 1568 Fibonacci
    矩阵快速幂
    矩阵乘法
  • 原文地址:https://www.cnblogs.com/backy2/p/10701719.html
Copyright © 2011-2022 走看看