• 图形的搭建


    例一:

    输入描述:

    多组输入,一个整数(2~20),表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。

    输出描述:

    针对每行输入,输出用“*”组成的X形图案。

    示例一:

    输入:

    5
    

    输出:

    *   *
     * * 
      *  
     * * 
    *   *

    示例二:

    输入:

    6
    

    输出:

    *    *
     *  * 
      **  
      **  
     *  * 
    *    *

    对于图形图案的构造,我们首先要做的就是观察、找规律,然后对图形进行搭建,构造。

    分析:

    对于这样的图形,首先我们可以发现图形相当于一个二维数组,然后对二维数组中的值进行存放。如图:

    62da22bf613d43cabf7fd3cf1adec3db.png

    我们可以发现,定义两个变量,当两个变量的值相等时,就打印“ * ”,或者当两个变量相加等于输入的变量的值减去一时,也打印“ * ”。

    废话不多说,上代码。

    #include<stdio.h>

    int main()
    {
        int n = 0;
        scanf("%d", &n);
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
            {
                if (i == j|| i + j == n - 1)
                {
                    printf("*");
                }
                else
                    printf(" ");
            }
            printf("\n");
        }
        return 0;
    }

    我们可以用编译器进行打印,输出的结果

    99082383ebfb4b70a50c38fa72b418ee.png

    例二:

    输入描述:

    多组输入,一个整数(3~20),表示输出的行数,也表示组成正方形边的“*”的数量。

    输出描述:

    针对每行输入,输出用“*”组成的“空心”正方形,每个“*”后面有一个空格。

    示例1:

    输出:

    * * * * 
    *     * 
    *     * 
    * * * * 
    

    示例2

    输入:

    5

    输出:

    * * * * * 
    *       * 
    *       * 
    *       * 
    * * * * * 

    首先,也是要进行分析。

    我们可以发现,当创建两个变量,并且他们的值等于0或者3时,打印“ * ”。

    cf7e577699a74ab7b67225cdeb8ff6ee.png

    上代码:

    #include

    int main()
    {
        int n = 0;
        scanf("%d", &n);
        for (int i = 0; i <= n - 1; i++)
        {
            
            for (int j = 0; j <= n - 1; j++)
            {
                if (i == 0 || i == n - 1)
                {
                    printf("* ");
                }
                else if (j == 0||j ==n -1) 
                {
                    printf("* ");
                }
                
                else
                    printf("  ");
            }
            printf("\n");
        }
        return 0;
    }

    编译可知
    75793611f0fc437c9ba5e5cb9785772d.png 

    如图所示

     

     

  • 相关阅读:
    Redis主从、哨兵、 Cluster集群一锅端!
    uni.app小程序的ajax封装详细讲解
    【R语言】完美解决devtools安装GitHub包失败的问题(以gwasglue为例)
    11月PMP考试考点安排,快看你在哪里考试!
    使用关键字abstract 声明抽象类-PHP8知识详解
    如何实现办公终端安全
    1. 一些截图方法的比较;2. 将截图直接转换为PDF并拼接,与插入Word后再转换为PDF的对比
    链表经典题带刷(内含精华:链表深拷贝)
    VPP以太网VLAN子接口
    机器视觉杂
  • 原文地址:https://blog.csdn.net/Lswblue/article/details/140116127