图形的搭建

news/2024/7/7 15:19:06 标签: 算法, 图形的搭建

例一:

输入描述:

多组输入,一个整数(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<stdio.h>

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 

如图所示

 

 


http://www.niftyadmin.cn/n/5536829.html

相关文章

1_插入排序_循环不变式

01_插入排序 #include<stdio.h>void insert_sort(int arr[], int n); void printArray(int arr[], int size);int main() {int arr[] {1, 2, 3, 22, 5, 9};int n sizeof(arr) / sizeof(arr[0]);printf("打印原始数组:\n");prinfArray(arr, n);insert_sort(a…

security密码明文

引言&#xff1a;在引入未给定初始化mysql数据springboot项目时&#xff0c;由于项目通过security对密码进行了加密&#xff0c;无法进行登录操作&#xff0c;提供的一种解决方法 1、注释掉注入的加密类 // Autowired // private BCryptPasswordEncoder bCryptPassword…

《梦醒蝶飞:释放Excel函数与公式的力量》8.3 COUNTBLANK函数

8.3 COUNTBLANK函数 在数据处理和分析中&#xff0c;我们经常需要识别和统计数据集中的空白单元格。COUNTBLANK函数是Excel中用于统计某个范围内空白单元格数量的强大工具。 8.3.1 函数简介 COUNTBLANK函数用于统计指定范围内的空白单元格数量。这在数据清洗、数据完整性检查…

面试框架一些小结

springcloud的⼯作原理 springcloud由以下⼏个核⼼组件构成&#xff1a; Eureka&#xff1a;各个服务启动时&#xff0c;Eureka Client都会将服务注册到Eureka Server&#xff0c;并且Eureka Client还可以反过来从Eureka Server拉取注册表&#xff0c; 从⽽知道其他服务在哪⾥ …

【鸿蒙学习笔记】鸿蒙ArkTS学习笔记

应用开发导读&#xff1a;https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/application-dev-guide-V5 目录标题 【鸿蒙培训】第&#xff11;天【鸿蒙培训】第&#xff12;天【鸿蒙培训】第&#xff13;天【鸿蒙培训】第&#xff14;天【鸿蒙培训】第&#…

Kafka-服务端-网络层-源码流程

整体架构如下所示&#xff1a; responseQueue不在RequestChannel中&#xff0c;在Processor中&#xff0c;每个Processor内部有一个responseQueue 客户端发送的请求被Acceptor转发给Processor处理处理器将请求放到RequestChannel的requestQueue中KafkaRequestHandler取出reque…

MMSC物料库位扩充

MMSC物料库位扩充 输入事务码MMSC&#xff1a; 回车后添加新的库位即可&#xff1a; 代码实现&#xff0c;使用BDC *&------------------------------------------------* *&BDC的定义 *&------------------------------------------------* DATA gt_bdcdata T…

关于echarts中使用到的图例、颜色设置、设置tooltip换行显示等问题

最近使用echarts中用到图例随机生成&#xff0c;颜色多不好设置的问题&#xff0c;图例多展示出现不全&#xff0c;不能根据颜色判断图例和数据的问题等总结一下 原始代码&#xff1a; that_ge.charts echarts.init(document.getElementById(paramenterEcharts));that_ge.al…