第五章 循环结构课后反思
图案一:
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("\n"); 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("\n"); 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("\n"); 10 } 11 for(i=1;i<=4;i++) 12 { 13 for(j=1;j<=(9-2*i);j++) 14 printf("*"); 15 printf("\n"); 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("\n"); 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("\n"); 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("\n"); 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("\n"); 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("\n"); 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("\n"); 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("\n"); 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("\n"); 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("\n"); 12 } 13 for(i=1;i<=2;i++) 14 { 15 for(j=1;j<=9;j++) 16 printf(" * "); 17 printf("\n"); 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("\n"); 28 } 29 }
这个图案其实和前面几个也是一样的套路,只不过是分成了三个部分,上部分是一个五行的三角形,中间部分是一个两行的长方形,下部分由三个循环组成,左右两边各用一个循环完成“*”号的输出,中间用一个循环完成空白符号的输出。
本章主要讨论了循环结构,重点就是各个循环语句的使用和区别,难点是循环语句的嵌套。
反思:
掌握了三种循环结构语句的使用:for语句、while语句、do_while语句,他们的区别:for循环通常用于知道循环次数的情况,while循环和do_while循环用于不知道循环次数的情况,for循环和while循环可能一次也不执行循环体语句,do_while循环则至少会执行一次。还有三种循环语句组成的各种嵌套结构。
分享交流:
班上的其他同学对我帮助都挺大的,他们都是大佬,就我是一个小菜鸡,还是要多向他们学习。