美丽的图案

具体题目要求输出一个图案,要先输入一个数n,比如输入n=2,n最大不超过9;

输出如下图案

                      0

               0    1    0

        0    1     2    1     0

               0    1    0        

                      0

分析思路:

考虑过中心的值是输入的最大值,它周围的都比它小1,对于非中心的值,可以判断如果这个数相邻的数比他大,就不变,否则就是这个数减去1后的结果,最终不知道如何实现好。所以放弃了,后来考虑先把过中心的行和列值全部赋值给一个数组相应的位置,得到了一个综合交叉的十字线,然后根据对角线上的值是一样的来确定没有填充的值,这个做到一半发现也不会了,放弃。后来想自己看到的这个图形也许实际不是这个样子的,只是选择性打印的结果,第一行只有一个0,第二行是0 1 0,两边的都是比中心的数小,而且对于一行数据,都是主次减去1直道为0,下一行的中心列的值比上一行相同位置大1,到了中间行后开始相反,要少1,最后选择大于等于0 的打印结果,否则打印空格。

#include<stdio.h>
#define MAX 9
int pic[2*MAX+1][2*MAX+1]={0};

/**
         1
         2
   0 1 2 3 2 1 0
         2
         1
         0*/
int main()
{
    int n,i,j;
    int d=0;
    scanf("%d",&n);
    for(i=MAX-n;i<=MAX+n;i++)
    {
        if(i<=MAX)
        {
            pic[i][MAX]=d++;
        }
        else
        {
            pic[i][MAX]=pic[i-1][MAX]-1;
        }
        for(j=0;j<n;j++)
        {
            pic[i][MAX-j-1]=pic[i][MAX-j]-1;
            pic[i][MAX+j+1]=pic[i][MAX+j]-1;
        }
    }
    for(i=MAX-n;i<=MAX+n;i++)
    {
        for(j=MAX-n;j<=MAX+n;j++)
        {
            if(pic[i][j]>=0)
            {
                printf("%-1d",pic[i][j]);
            }
            else
            {
                printf(" ");
            }
        }
        printf("\n");
    }
    return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python可以用来生成漂亮的图案,特别是使用一些绘图库如matplotlib或seaborn。你可以使用这些库来创建各种图形,包括线图、散点图、柱状图、饼图等等。此外,还可以通过使用不同的颜色、样式和标记来定制图形的外观。 如果你对绘图有兴趣,我建议你参考一些教程和示例代码来学习如何使用这些库创建漂亮的图案。你可以通过搜索"Python绘图教程"来找到一些资源,并根据自己的兴趣选择适合的教程。 在学习过程中,你可能会发现一些有趣的图案,这些图案可以通过在绘图函数中使用不同的参数和数据来实现。通过不断尝试和调整参数,你可以创建出与众不同的图案。 总之,Python提供了强大的绘图功能,可以帮助你创建出漂亮的图案。希望你能够通过学习和实践,掌握这些技巧,创造出属于自己的独特图案。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [用python画简单的图案-使用 Python Turtle 设计简单而又美丽的图形](https://blog.csdn.net/q6q6q/article/details/109342866)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值