第五章 循环结构课后反思

Posted 1hzq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第五章 循环结构课后反思相关的知识,希望对你有一定的参考价值。

首先先看图案的行列,图案为9行11列。然后图案可分为三个部分。
1、
技术图片

2、
技术图片

3、
技术图片

第一部分的三角形较简单,不过需要注意输出的空格数量(为使图案与书本一致,要通过增加空格使星号间距增大)。在增加星号间距的同时,还要注意换行时候的星号前面空格的数量(需要与后面星号间距协调一致)
附上一张没调整星号前面间距的图
技术图片

(可以看到每一行前方的空格数量没有与星号间距协调好的,导致图案变形)
第二部分较简单
第三部分可以看成是第一部分的星号与空格交换后的图形,不过在第一部分中的后半部分空缺是通过换行实现的,所以在第三部分中需要增加右半部分的星号。
(PS:在这个图案中可以不需要很多变量,变量可以重复使用,只需要在for中赋值即可)

#include<stdio.h>
main()
{
    int i,j,k;
    for (i=1;i<=5;i++)   //,此处第一个for为图案的上半部分(5行的三角形)i表示行数,j,k表示列中的星号和空格
        {   
        for(j=1;j<=(5-i);j++)    
            {
                printf("     "); // 这里需注意与下方星号的间距协调至一致 
            }
        for(k=1;k<=(2*i-1);k++)
            {
                printf("  *  "); //这里为了达到书本里的星号间距所以在星号两边加入了空格 
            }   
        printf("
");   
        }
        
    for (i=1;i<=2;i++)  //此处第二个for表示图案中间的两行星号 
        {
            for(j=1;j<=9;j++)
            {
                printf("  *  ");
            }
            printf("
");
        }
        
    for (i=1;i<=5;i++)   //此处第三个for为图案下半部分的三角形 
        {   
        for(j=1; j<=(5-i);j++)  //这是图案下方左边的三角形 
            {
                printf("  *  "); 
            }
        for(k=1;k<=(2*i-1);k++)
            {
                printf("     ");
            }   
        for(j=1;j<=(5-i);j++)  //这是图案下方右边的三角形 
            {
                printf("  *  ");
            }
        
        printf("
");   
        }
 } 

以上是关于第五章 循环结构课后反思的主要内容,如果未能解决你的问题,请参考以下文章

第五章 循环结构课后反思

第五章循环结构课后反思

第五章 循环结构课后反思

第五章 循环结构课后反思

第五章 循环结构课后反思

第五章循环结构课后反思