第五章 循环结构课后反思

图案一:

 1 #include<stdio.h>
 2 main() 
 3 {
 4   int i,j,k;
 5   for(i=1;i<=5;i++)
 6   {
 7    for(j=i;j<5;j++)
 8        printf(" ");
 9    for(k=1;k<=(2*i-1);k++)
10        printf("*");
11    printf("
");
12   }
13   for(i=1;i<=5;i++)
14   {
15    for(j=1;j<(i+1);j++)
16        printf(" ");
17    for(k=1;k<=(9-2*i);k++)
18        printf("*");
19    printf("
");
20   }
21 }

第五章 循环结构课后反思

这个图案可分为上下两个部分,上半部分有五行,下半部分有四行,每行分为左右两个部分,分别用一个循环完成空白符号的输出,用另一个循环完成“*”号的输出。

接下来的几个图案都是一个套路。

图案二:

 1 #include <stdio.h>
 2 main()
 3 {
 4     int i,j,k;
 5     for(i=1;i<=5;i++)
 6     {
 7         for(j=1;j<=(2*i-1);j++)
 8         printf("*");
 9     printf("
");
10     }
11     for(i=1;i<=4;i++)
12     {
13         for(j=1;j<=(9-2*i);j++)
14             printf("*");
15         printf("
");
16     }
17 }

第五章 循环结构课后反思

图案三:

 1 #include <stdio.h>
 2 main()
 3 {
 4     int i,j,k;
 5     for(i=1;i<=5;i++)
 6     {
 7         for(j=1;j<=(10-2*i);j++)
 8             printf(" ");
 9         for(k=1;k<=(2*i-1);k++)
10             printf("*");
11         printf("
");
12     }
13     for(i=1;i<=4;i++)
14     {
15         for(j=1;j<=(2*i);j++)
16             printf(" ");
17         for(k=1;k<=(9-2*i);k++)
18             printf("*");
19         printf("
");
20     }
21 } 

第五章 循环结构课后反思

图案四:

 1 #include <stdio.h>
 2 main()
 3 {
 4     int i,j,k;
 5     for(i=1;i<=5;i++)
 6     {
 7         for(j=1;j<=(i-1);j++)
 8             printf(" ");
 9         for(k=1;k<=(11-2*i);k++)
10             printf("*");
11         printf("
");
12     }
13     for(i=1;i<=4;i++)
14     {
15         for(j=1;j<=(4-i);j++)
16             printf(" ");
17         for(k=1;k<=(2*i+1);k++)
18             printf("*");
19         printf("
");
20     }
21 } 

第五章 循环结构课后反思

图案五:

 1 #include <stdio.h>
 2 main()
 3 {
 4     int i,j,k;
 5     for(i=1;i<=5;i++)
 6     {
 7         for(j=1;j<i;j++)
 8             printf(" ");
 9         for(k=1;k<=7;k++)
10             printf("*"); 
11         printf("
");
12     }
13     for(i=1;i<=4;i++)
14     {
15         for(j=1;j<=(4-i);j++)
16             printf(" ");
17         for(k=1;k<=7;k++)
18             printf("*");
19         printf("
");
20     }
21 }

第五章 循环结构课后反思

图案六:

 1 #include <stdio.h>
 2 main()
 3 {
 4     int i,j,k;
 5     for(i=1;i<=5;i++)
 6     {
 7         for(j=1;j<=(5-i);j++)
 8             printf(" ");
 9         for(k=1;k<=7;k++)
10             printf("*"); 
11         printf("
");
12     }
13     for(i=1;i<=4;i++)
14     {
15         for(j=1;j<=i;j++)
16             printf(" ");
17         for(k=1;k<=7;k++)
18             printf("*");
19         printf("
");
20     }
21 }  

第五章 循环结构课后反思

图案七:

 1 #include<stdio.h>
 2 main()
 3 {
 4    int i,j,k,l;
 5    for(i=1;i<=5;i++)
 6    {
 7        for(j=1;j<=5-i;j++)
 8            printf("    ");
 9        for(k=1;k<=(2*i-1);k++)
10            printf("  * ");
11        printf("
");
12    }
13    for(i=1;i<=2;i++)
14    {
15        for(j=1;j<=9;j++)
16            printf("  * ");
17        printf("
");
18    }
19    for(i=1;i<=4;i++)
20    {
21        for(j=i;j<=4;j++)
22            printf("  * ");
23        for(k=1;k<=(2*i-1);k++)
24            printf("    ");
25        for(l=i;l<=4;l++)
26            printf("  * ");
27     printf("
");
28     }
29 }

 第五章 循环结构课后反思

这个图案其实和前面几个也是一样的套路,只不过是分成了三个部分,上部分是一个五行的三角形,中间部分是一个两行的长方形,下部分由三个循环组成,左右两边各用一个循环完成“*”号的输出,中间用一个循环完成空白符号的输出。

本章主要讨论了循环结构,重点就是各个循环语句的使用和区别,难点是循环语句的嵌套。

反思:

    掌握了三种循环结构语句的使用:for语句、while语句、do_while语句,他们的区别:for循环通常用于知道循环次数的情况,while循环和do_while循环用于不知道循环次数的情况,for循环和while循环可能一次也不执行循环体语句,do_while循环则至少会执行一次。还有三种循环语句组成的各种嵌套结构。

分享交流:

    班上的其他同学对我帮助都挺大的,他们都是大佬,就我是一个小菜鸡,还是要多向他们学习。