第五章 循環結構課後反思

1、本章重點、難點

重點:

  • 使用循環結構,編寫程序,輸出幾何圖形算法

  • 用於循環中的break語句和continue語句。學習

難點:

  • 輸出較爲複雜的幾何圖形。spa

  • 循環結構的嵌套。3d

  • break語句和continue語句的區別。break是終止循環,而continue是提早進入下一循環。code

2、課內反思

一、所學內容

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

(2)使用循環結構輸出指定幾何圖形。io

(3)控制計算機自動生成二元算數表達式。class

二、個人代碼

a

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

 以此類推,那麼是否是能夠不限行數,我想輸出多少行,就能輸出多少行,實踐以後,我發現只要再加一個變量就能夠啦。變量

代碼以下:循環

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

b

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

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

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

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

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

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

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

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

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

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

3、課後習題

#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("\n");
 }
 for(i=1;i<=4;i++)
 {
  for(j=i;j<=4;j++)
  printf(" ");
  for(k=1;k<=7;k++)
  printf("*");
  printf("\n");
 }
}

 

 思路:

對此,我先將該圖案分割成兩部分,上面五行,下面四行。上面五行第一行一個空格,第二行兩個空格……以此類推,能夠得出空格與行數的規律,星號每行比前一行突出一個,所以能夠得出前五行代碼。後面四行與上面的相反,第一行四個空格,第二行三個空格……,星號每一行比上一行縮進一個,依次類推,能夠得出下面四行代碼。

流程圖:

4、課後小結

        經過本章學習,我能夠知道規則圖形均可以觸類旁通的按照上面來,較複雜的圖形能夠將圖形分爲幾部分,化繁爲簡。但願能夠更多接觸算法,感受畫流程圖有點困難。經過這幾個圖案的代碼,對學習C語言有了些感受。我想,後面可能會比以前簡單。

相關文章
相關標籤/搜索