第五章 循环结构课后反思
循环结构课后反思
本章的重难点有:for语句、while语句和do_while语句。
在章末的八个图型包含了本章学习的基本语句的应用,在此我选了三个图形进行解析。
第一个图形
下面是其代码
#include<stdio.h>
main()
{
int i,j,k,n=8;
for(i=1;i<=5;i++)
{
for(j=i;j<5;j++)
printf(" ");
for(k=1;k<=(2*i-1);k++)
printf("*");
printf("\n");
}
for(i=1;i<=4;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;
for(i=1;i<=5;i++)
{
for(j=i;j<5;j++)
printf(" ");
for(k=1;k<=(2*i-1);k++)
printf("*");
printf("\n");
}
}
#include<stdio.h>
main()
{
int i,j,k,n=8;
for(i=1;i<=4;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=5;
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=1;j<(n-i);j++)
printf(" ");
for(k=1;k<=7;k++)
printf("*");
printf("\n");
}
}
该图形也是由两个小图型组成
其代码分别为
#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");
}
}
#include<stdio.h>
main()
{
int i,j,k,n=5;
for(i=1;i<=4;i++)
{
for(j=1;j<(n-i);j++)
printf(" ");
for(k=1;k<=7;k++)
printf("*");
printf("\n");
}
}
这个图型和上一个一样,只是由两个小图型的上下的叠加组成。
第三个图形
代码在下
#include<stdio.h>
main()
{
int i,j,k;
for(i=1;i<=5;i++)
{
for(j=i;j<5;j++)
printf(" ");
for(k=1;k<=(2*i-1);k++)
printf(" * ");
printf("\n");
}
for(i=1;i<=2;i++)
{
for(j=1;j<=9;j++)
printf(" * ");
printf("\n");
}
for(i=1;i<=4;i++)
{
for(j=i;j<5;j++)
printf(" * ");
for(k=1;k<=(2*i-1);k++)
printf(" ");
for(j=i;j<5;j++)
printf(" * ");
printf("\n");
}
}
该图形由上中下三个图型组成
它们的代码分别为
#include<stdio.h>
main()
{
int i,j,k;
for(i=1;i<=5;i++)
{
for(j=i;j<5;j++)
printf(" ");
for(k=1;k<=(2*i-1);k++)
printf(" * ");
printf("\n");
}
}
#include<stdio.h>
main()
{
int i,j;
for(i=1;i<=2;i++)
{
for(j=1;j<=9;j++)
printf(" * ");
printf("\n");
}
}
#include<stdio.h>
main()
{
int i,j,k;
for(i=1;i<=4;i++)
{
for(j=i;j<5;j++)
printf(" * ");
for(k=1;k<=(2*i-1);k++)
printf(" ");
for(j=i;j<5;j++)
printf(" * ");
printf("\n");
}
}
整个图型看起来稍微复杂一些但是,拆分为三个部分后就简单很多了。
总的来说,想要更简便的用C语言来编译出一个图型,先要将图片分析,再简化拆分为几个部分,最后在拼合成那个完整的图型。