第五章 循环结构课后反思
一、本章重点、难点:我认为本章的重点主要是理清楚循环结构,比如for语句、while/do while语句、还有一些break语句和continue语句的区别与应用。我认为本章的难点内容主要是嵌套语句的理解与使用,比如什么时候跳出该循环,什么时候结束该循环,都比较难以掌握。本章
二、主要做了两个习题:
1、第二个图案:我将图案分为了两个部分:该部分我用的是for语句里面嵌套一个if条件语句。
(1)第一部分是从第一行到第五行的上面这个三角形,该部分的三角形较为的简单,只要将前面的星星排列好,之后的空格用换行符号“ ”就行了。
(2)第二部分就是第六行第九行,是一个倒的三角形性状。
总代码为如下
#include<stdio.h> main() { int i,j,k; for(i=1;i<=9;i++) { if(i<=5) { for(j=1;j<=(2*i-1);j++) printf("*"); printf(" "); } else { for(k=(2*i-9);k<=9;k++) printf("*"); printf(" "); } } }
2、第七个图案:我将图案分为了三个部分:该图形我用的是3个for语句完成的。
(1)第一个部分是最上面的那个三角形,是第一行到第五行。而最上面的三角形可以由空格和星星组成,首先输出的应该是空格,之后再紧接着是星星,然后再用换行字符即可。
(2)第二部分是中间的一行星星,总共九个,较为简单,应该都会。
(3)第三部分是由两个相对的三角形组成,其实只要将第一个三角形中的“ ”和“ * ” 的位置换一下位置输出,然后在作出最右边的一个三角形即可得到。
总代码如下所示:
#include<stdio.h> main() { int i,j,k; for(i=1;i<=5;i++) //这个for是最上面那个三角形 { for(j=i;j<5;j++) printf(" "); for(k=1;k<=(2*i-1);k++) printf(" * "); printf(" "); //需要注意该换行的代码,否则写再多也无效 } for(i=1;i<=1;i++) //这个for是中间那一行的代码 { for(j=1;j<=9;j++) { printf(" * "); } printf(" "); } for(i=1;i<=5;i++) //这个for是最下面几行的代码 { for(j=i;j<5;j++) //这个for左边三角形的代码 printf(" * "); for(k=1;k<=(2*i-1);k++) //这个for是中间空格的代码 printf(" "); for(j=i;j<5;j++) //这个for是右边三角形的代码 printf(" * "); printf(" "); } }
总图案如下: