码迷,mamicode.com
首页 > 其他好文 > 详细

第五章 循环结构课后反思

时间:2019-04-11 19:37:46      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:std   pre   img   第三部分   src   .com   技术   mamicode   inf   

首先先看图案的行列,图案为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("\n");   
        }
        
    for (i=1;i<=2;i++)  //此处第二个for表示图案中间的两行星号 
        {
            for(j=1;j<=9;j++)
            {
                printf("  *  ");
            }
            printf("\n");
        }
        
    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("\n");   
        }
 } 

第五章 循环结构课后反思

标签:std   pre   img   第三部分   src   .com   技术   mamicode   inf   

原文地址:https://www.cnblogs.com/1hzq/p/10691600.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!