第五章 循环结构课后反思

循环结构课后反思

本章的重难点有: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("
");
	}
	for(i=1;i<=4;i++)
	{
		for(j=1;j<=i;j++)
		  printf(" ");
		for(k=i;k<(n-i+1);k++)
		  printf("*");
		printf("
");
	}
 } 

该图形其实是由两个小图型组合而成

其代码分别为

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

这个图型其实不难,就是两个小图型的上下叠加。

第二个图形

下面是其代码

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

该图形也是由两个小图型组成

其代码分别为

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

这个图型和上一个一样,只是由两个小图型的上下的叠加组成。

第三个图形


代码在下

#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("
");
	}
    for(i=1;i<=2;i++)
	{
		for(j=1;j<=9;j++)
		  printf("  *  ");
		printf("
");
	}
	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("
");
	}

 } 

该图形由上中下三个图型组成



它们的代码分别为

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

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

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

 } 

整个图型看起来稍微复杂一些但是,拆分为三个部分后就简单很多了。


总的来说,想要更简便的用C语言来编译出一个图型,先要将图片分析,再简化拆分为几个部分,最后在拼合成那个完整的图型。

原文地址:https://www.cnblogs.com/chenxiqiming/p/10704384.html