当前位置: 首页 > news >正文

用字符打印中文字“里”

空间复杂度为O(n);可能会爆。

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main() {

    int n;

    scanf("%d", &n);

    int size = 11 * n;

    char li[size + 10][size + 10];

    memset(li, '.', sizeof(li));

    //首先着底色 "."

    for (int i = 0; i < size; i++) {

        for(int j = 0; j < size; j++){

            li[i][j] = '.';

        }

    }

    //图案的第1部分:"..*******.."

    for(int i = 1*n;i<2*n;i++){

        for(int j = 2*n;j<9*n;j++)

            li[i][j] = '*';

    }

    //图案的第2部分:"..*..*..*.."

    for(int i = 2*n;i<3*n;i++){

        for(int j = 2*n;j<size;j+=3*n)

            for(int k=j;k<j+n;k++) li[i][k] = '*';

    }

    //图案的第3部分:"..*******.."

    for(int i = 3*n;i<4*n;i++){

        for(int j = 2*n;j<9*n;j++)

            li[i][j] = '*';

    }  

    //图案的第4部分:"..*..*..*.."

    for(int i = 4*n;i<5*n;i++){

        for(int j = 2*n;j<size;j+=3*n)

            for(int k=j;k<j+n;k++) li[i][k] = '*';

    }  

    //图案的第5部分:"..*******.."

    for(int i = 5*n;i<6*n;i++){

        for(int j = 2*n;j<9*n;j++)

            li[i][j] = '*';

    }      

    //图案的第6部分:".....*....."

    for(int i = 6*n;i<7*n;i++){

        for(int j = 5*n;j<size;j+=6*n)

            for(int k=j;k<j+n;k++) li[i][k] = '*';

    }  

    //图案的第7部分:"..*******.."

    for(int i = 7*n;i<8*n;i++){

        for(int j = 2*n;j<9*n;j++)

            li[i][j] = '*';

    }    

    //图案的第8部分:".....*....."

    for(int i = 8*n;i<9*n;i++){

        for(int j = 5*n;j<size;j+=6*n)

            for(int k=j;k<j+n;k++) li[i][k] = '*';

    }  

    //图案的第9部分:".*********."

    for(int i = 9*n;i<10*n;i++){

        for(int j = 1*n;j<10*n;j++)

            li[i][j] = '*';

    }    

    //打印结果

    for (int i = 0; i < size; i++) {

        for(int j = 0; j < size; j++){

            printf("%c", li[i][j]);

        }

        printf("\n");  

    }

    return 0;

}

空间复杂度为O(1)。 反正都很丑,但容易理解 :)

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main() {

    int n;

    scanf("%d", &n);

    int size = 11 * n;

    //图案的第0部分:"..........."

    for(int i = 0*n;i<1*n;i++){

        for(int j = 0*n;j<11*n;j++)

            printf(".");

        printf("\n");    

    }

    //图案的第1部分:"..*******.."

    for(int i = 1*n;i<2*n;i++){

        for(int j=0;j<2*n;j++)

            printf(".");

        for(int j = 2*n;j<9*n;j++)

            printf("*");

        for(int j=9*n;j<size;j++)

            printf(".");

        printf("\n");    

    }

    //图案的第2部分:"..*..*..*.."

    for(int i = 2*n;i<3*n;i++){

        for(int j=0;j<2*n;j++)

            printf(".");

        for(int j=2*n;j<3*n;j++)

            printf("*");  

        for(int j=3*n;j<5*n;j++)

            printf(".");

        for(int j=5*n;j<6*n;j++)

            printf("*");  

        for(int j=6*n;j<8*n;j++)

            printf(".");

        for(int j=8*n;j<9*n;j++)

            printf("*");  

        for(int j = 9*n;j<size;j++)

            printf(".");  

        printf("\n");          

    }

    //图案的第3部分:"..*******.."

    for(int i = 3*n;i<4*n;i++){

        for(int j=0;j<2*n;j++)

            printf(".");

        for(int j = 2*n;j<9*n;j++)

            printf("*");

        for(int j=9*n;j<size;j++)

            printf(".");

        printf("\n");    

    }  

    //图案的第4部分:"..*..*..*.."

    for(int i = 4*n;i<5*n;i++){

        for(int j=0;j<2*n;j++)

            printf(".");

        for(int j=2*n;j<3*n;j++)

            printf("*");  

        for(int j=3*n;j<5*n;j++)

            printf(".");

        for(int j=5*n;j<6*n;j++)

            printf("*");  

        for(int j=6*n;j<8*n;j++)

            printf(".");

        for(int j=8*n;j<9*n;j++)

            printf("*");  

        for(int j = 9*n;j<size;j++)

            printf(".");  

        printf("\n");    

    }  

    //图案的第5部分:"..*******.."

    for(int i = 5*n;i<6*n;i++){

        for(int j=0;j<2*n;j++)

            printf(".");

        for(int j = 2*n;j<9*n;j++)

            printf("*");

        for(int j=9*n;j<size;j++)

            printf(".");

        printf("\n");    

    }  

    //图案的第6部分:".....*....."

    for(int i = 6*n;i<7*n;i++){

        for(int j=0;j<5*n;j++)

            printf(".");

        for(int j = 5*n;j<6*n;j++)

            printf("*");

        for(int j=6*n;j<size;j++)

            printf(".");

        printf("\n");    

    }    

    //图案的第7部分:"..*******.."

    for(int i = 7*n;i<8*n;i++){

        for(int j=0;j<2*n;j++)

            printf(".");

        for(int j = 2*n;j<9*n;j++)

            printf("*");

        for(int j=9*n;j<size;j++)

            printf(".");

        printf("\n");    

    }      

    //图案的第8部分:".....*....."

    for(int i = 8*n;i<9*n;i++){

        for(int j=0;j<5*n;j++)

            printf(".");

        for(int j = 5*n;j<6*n;j++)

            printf("*");

        for(int j=6*n;j<size;j++)

            printf(".");

        printf("\n");

    }  

    //图案的第9部分:".*********."

    for(int i = 9*n;i<10*n;i++){

        for(int j=0;j<1*n;j++)

            printf(".");

        for(int j = 1*n;j<10*n;j++)

            printf("*");

        for(int j=10*n;j<size;j++)

            printf(".");

        printf("\n");    

    }

    //图案的第10部分:"..........."

    for(int i = 9*n;i<10*n;i++){

        for(int j=0;j<size;j++)

            printf(".");

        printf("\n");            

    }            

    return 0;

}

相关文章:

  • 做环评在发改委网站申请卡点视频免费制作软件
  • 做tb任务赚钱的网站2022最新时事新闻及点评
  • 如何做网站电话网站前期推广
  • ps做网站首页效果特效百度推广怎么收费的
  • 无锡梅村网站建设seo诊断分析报告
  • 门户网站推广方式sem
  • 芸众商城系统部署教程 接口报错500 芸众商城队列安装启动教程
  • Javaweb - 5 事件的绑定
  • Sping AI接入deepseek
  • 微信小程序中 rpx与px的区别
  • 【FreeRTOS】FreeRTOS源码概述
  • HSA22HSA29美光固态芯片D8BJVC8BJW
  • 机器学习×第十三卷:集成学习上篇——她不再独断,而是召集小队贴贴你
  • 多线程的同步
  • k8s强制删除podpvpvc和nsnamespace
  • 人机交互动画制作新突破!文本驱动扩散框架HOIDiNi:一句话驱动虚拟人高精度操作物体。
  • GitHub Actions 的深度解析与概念介绍
  • Java8新特性_加强版
  • 采用ArcGIS10.8.2 进行插值图绘制
  • STM32MPU6050 dmp库
  • MyBatis-Plus:从入门到进阶
  • 如何将OBJ文件转成GLB文件
  • NVIDIA GPU架构学习笔记
  • 时序数据库IoTDB可实现的基本操作及命令汇总
  • Linux操作系统Nginx Web服务
  • 16、nrf52840蓝牙学习(唯一ID加密与解密)