C语言老题新解16-20 用命令行打印一些图案

news/2024/12/29 21:52:04/

文章目录

    • 11 打印字母C
    • 12 输出国际象棋棋盘。
    • 13 打印楼梯,同时在楼梯上方打印两个笑脸。
    • 14 输出9*9 口诀。
    • 15 有一道题要输出一个图形,然后Very Beautiful。

11 打印字母C

11 用*号输出字母C的图案。

讲道理这绝对不该是个新人能整出来的活儿,而标准答案打印出来的也根本不是C,而是个框。想要打出C这个字符还是相当有难度的,最起码得用个点阵字库之类的,不过关于如何调用点阵字库以后再讲,这里还是简单画个框。

#include<stdio.h>
void drawC(){printf("████████\n██\n██\n████████\n");
}int main()
{drawC();
}

结果为

>a.exe
████████
██
██
████████

12 输出国际象棋棋盘。

比小九九唯一不一样的是需要加一条判断,即判断是黑格子还是白格子。

#include<stdio.h>
void drawChess(){int i,j;for(i=0;i<8;i++){for(j=0;j<8;j++)printf((i+j)%2==0 ? "██" : "  ");printf("\n");}
}
int main()
{drawChess();
}

效果如下,感觉没有在命令行中输出好看

>a.exe
██  ██  ██  ████  ██  ██  ██
██  ██  ██  ████  ██  ██  ██
██  ██  ██  ████  ██  ██  ██
██  ██  ██  ████  ██  ██  ██

在这里插入图片描述

13 打印楼梯,同时在楼梯上方打印两个笑脸。

楼梯我可以理解,但笑脸是什么鬼……

#include "stdio.h"
void drawStair(){int i,j;printf("😁😁\n");for(i=1;i<11;i++){for(j=1;j<=i;j++)printf("██");printf("\n");}
}int main()
{drawStair();
}

效果如下,我估计主要是因为十年前没有emoji,所以难点应该是如何输出笑脸。

在这里插入图片描述

14 输出9*9 口诀。

又是我最讨厌的循环嵌套,但这次感觉没什么发挥的余地了。

#include <stdio.h>
void draw99(){int i,j;for (i=1; i<10; i++){for(j=1; j<=i; j++)printf("%d*%d=%-3d",j,i,i*j);printf("\n");}
}
int main()
{draw99();
}

结果为

1*1=1
1*2=2  2*2=4
1*3=3  2*3=6  3*3=9
1*4=4  2*4=8  3*4=12 4*4=16
1*5=5  2*5=10 3*5=15 4*5=20 5*5=25
1*6=6  2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7  2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8  2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9  2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

15 有一道题要输出一个图形,然后Very Beautiful。

由于压根没看懂这题是要干嘛,反正最后是画了个叉

#include<stdio.h>
void drawBeautiful(){int i,j;for(i=-5; i<=5; i++){for(j=-5; j<=5; j++)printf(i*i==j*j ? "💗" : "💟");printf("\n");}
}
int main()
{drawBeautiful();
}

效果如下

>a.exe
💗💟💟💟💟💟💟💟💟💟💗
💟💗💟💟💟💟💟💟💟💗💟
💟💟💗💟💟💟💟💟💗💟💟
💟💟💟💗💟💟💟💗💟💟💟
💟💟💟💟💗💟💗💟💟💟💟
💟💟💟💟💟💗💟💟💟💟💟
💟💟💟💟💗💟💗💟💟💟💟
💟💟💟💗💟💟💟💗💟💟💟
💟💟💗💟💟💟💟💟💗💟💟
💟💗💟💟💟💟💟💟💟💗💟
💗💟💟💟💟💟💟💟💟💟💗

在这里插入图片描述


http://www.ppmy.cn/news/32925.html

相关文章

用sql计算两个经纬度坐标距离(米数互转)

目录 一、sql示例&#xff08;由近到远&#xff09; 二 、参数讲解 三、查询效果 - 距离&#xff08;公里 / 千米&#xff09; 四、查询效果 - 距离&#xff08;米&#xff09; 五、距离四舍五入保留后2位小数&#xff08;java&#xff09; 一、sql示例&#xff08;由近到远…

ElasticSearch快速入门详解(亲测好用,强烈推荐收藏)

3.快速入门 接下来快速看下elasticsearch的使用 3.1.概念 Elasticsearch虽然是一种NoSql库&#xff0c;但最终的目的是存储数据、检索数据。因此很多概念与MySQL类似的。 ES中的概念数据库概念说明索引库&#xff08;indices)数据库&#xff08;Database&#xff09;ES中可…

selenium(5)-------自动化测试脚本(python)

1)alert框的处理 前提:我们是不可以通过控制台直接定位元素的方式去选中这个alert框的&#xff0c;例如说xpath直接进行定位元素 1)先获得弹框的操作句柄:alertdriver.switch_to.alert 2)再次调用accept方法进行关闭弹窗:alert.accept() from selenium import webdriver import…

Java 到底是值传递还是引用传递?

C 语言是很多变成语言的母胎&#xff0c;包括 Java。对于 C 语言来说&#xff0c;所有的方法参数都是通过 “值” 传递的&#xff0c;也就是说&#xff0c;传递给被调用方法的参数值存放在临时变量中&#xff0c;而不是存放在原来的变量中。这就意味着&#xff0c;被调用的方法…

Github的使用

Github Date: March 8, 2023 Sum: Github的使用 Github 了解开源相关的概念 1. 什么是开源 2. 什么是开源许可协议 开源并不意味着完全没有限制&#xff0c;为了限制使用者的使用范围和保护作者的权利&#xff0c;每个开源项目都应该遵守开源许可协议&#xff08; Open Sou…

OKHttp 源码解析(二)拦截器

游戏SDK架构设计之代码实现——网络框架 OKHttp 源码解析&#xff08;一&#xff09; OKHttp 源码解析&#xff08;二&#xff09;拦截器 前言 上一篇解读了OKHttp 的基本框架源码&#xff0c;其中 OKHttp 发送请求的核心是调用 getResponseWithInterceptorChain 构建拦截器链…

每日算法题

题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 作为篮球队教练&#xff0c;你需要从以下名单中选出 11 号位至 55 号位各一名球员&#xff0c;组成球队的首发阵容。 每位球员担任 11 号位至 55 号位时的评分如下…

【十二天学java】day01-Java基础语法

day01 - Java基础语法 1. 人机交互 1.1 什么是cmd&#xff1f; 就是在windows操作系统中&#xff0c;利用命令行的方式去操作计算机。 我们可以利用cmd命令去操作计算机&#xff0c;比如&#xff1a;打开文件&#xff0c;打开文件夹&#xff0c;创建文件夹等。 1.2 如何打…