题目描述

KiKi 学会了 printf 在屏幕输出信息,他想输出一架小飞机。请帮他编写程序输出这架小飞机。

输入描述

无

输出描述

解题思路

方案一:

将小飞机的图形按照行进行划分,总共可以分成 6行。然后依照每行空格与 * 的排布位置输出相应的字符即可。

具体代码如下:

点击展开
#include <stdio.h>

int main()
{
printf(" **\n"); /* 依照图形,逐行进行输出 */
printf(" **\n");
printf("************\n");
printf("************\n");
printf(" * *\n");
printf(" * *\n"); return 0;
}

方案二:

也可以将 6 条 printf 中的语句整合为一条。

具体代码如下:

点击展开
#include <stdio.h>

int main()
{
printf(" **\n **\n************\n************\n * *\n * *\n"); return 0;
}

方案三:

方案一和方案二的代码简单直观,当然像这种输出图形的题目,我们也可以通过循环语句进行实现。

具体代码如下:

点击展开
#include <stdio.h>

int main()
{
int x = 0, y = 0; for (x = 0; x < 2; x++) /* 控制输出 x 行 */
{
for (y = 0; y < 7; y++) /* 控制输出 x 行的 y 列 */
{
if (y < 5) /* 控制输出 y 列中的' ' */
{
putchar(' ');
}
else /* 控制输出 y 列中的'*' */
{
putchar('*');
}
} putchar('\n'); /* 回车换行 */
} for (x = 0; x < 2; x++) /* 3、4 行 */
{
for (y = 0; y < 12; y++)
{
putchar('*');
} putchar('\n');
} for (x = 0; x < 2; x++) /* 5、6 行 */
{
for (y = 0; y < 8; y++)
{
if ((y < 4) || (y == 5) || (y == 6))
{
putchar(' ');
}
else
{
putchar('*');
}
} putchar('\n');
} return 0;
}

不要问 for、if 中的判断条件是怎么得到的,问就是我一个个数出来的,寻找规律嘛。

BC2-小飞机的更多相关文章

  1. [知了堂学习笔记]_用JS制作《飞机大作战》游戏_第4讲(创建敌方飞机、敌方飞机发射子弹、玩家子弹击中敌方小飞机,小飞机死亡)

    一.创建敌方飞机 1.思考创建思路: 创建敌方飞机思路与创建玩家飞机思路一样: (1)思考敌方飞机具备什么属性: 敌方飞机的图片.坐标.飞行速度.状态(是否被击中) 设置小飞机被击中时消失时间.飞机可 ...

  2. QTP入门——玩玩小飞机

    1.什么是QTP? 百度百科中对QTP是这么介绍的: ——”QTP是QuickTest Professional的简称,是一种自动化测试工具.使用QTP的目的是想用它来执行重复的自动化测试,主要是用于 ...

  3. 用JS制作《飞机大作战》游戏_第4讲(创建敌方飞机、敌方飞机发射子弹、玩家子弹击中敌方小飞机,小飞机死亡)-陈远波

    一.创建敌方飞机 1.思考创建思路: 创建敌方飞机思路与创建玩家飞机思路一样: (1)思考敌方飞机具备什么属性: 敌方飞机的图片.坐标.飞行速度.状态(是否被击中) 设置小飞机被击中时消失时间.飞机可 ...

  4. Ubuntu 16.04 小飞机启动失败

    好长时间没用小飞机了,今天打开发现,无法启动了. 查看了日志: Initialising ciphers... AES-256/CFB (aes-256-cfb) initialised. Runni ...

  5. 4星|《财经》2018年第15期:电动飞机、无人小飞机、AI无人机

    <财经>2018年第15期 总第532期 旬刊 本期主题是AI.有多篇国内AI行业的比较深入的调查报告,比较有意思的有:电动飞机.无人小飞机.AI无人机.欧盟通用数据保护条例.Amazon ...

  6. 小飞机可以解决git clone没有返回的问题吗?

    [1]Linux如何使用小飞机? 以ss为例,先下载客户端: https://www.mediafire.com/folder/xag0zy318a5tt/Linux 下载客户端以后,右键把权限中&q ...

  7. ubuntu配置小飞机

    现在有两种方式在ubuntu配置本地shadowsocks(前提已经在服务器上搭建好了ss) windows,ios和安卓配置都是gui,没什么好说的.然后前期工作什么买vps啊,比较无脑,不想记录这 ...

  8. 小飞机ss端口被占用处理

    如图所示: 解决方法: 1.运行cmd 2.输入命令:netstat -aon|findstr "1080" 3.获取使用该端口的PID---“8540”,如下图所示: 4.输入命 ...

  9. Python-pygame案例小飞机

    import pygame, sys from pygame.locals import * import random '''飞机躲避导弹''' # 玩家 class Player(pygame.s ...

  10. java web学习总结(二十七) -------------------JSP标签介绍

    一.JSP标签介绍 JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. 二.JSP常用标签 ...

随机推荐

  1. `<jsp:getProperty>`动作和`<jsp:setProperty>`动作的使用在一个静态页面填写图书的基本信息,页面信息提交给其他页面,并且在其页面显示。要去将表单元素的值赋值给Java

    <jsp:getProperty>动作和<jsp:setProperty>动作的使用 1.<jsp:getProperty>动作 语法格式: <jsp:get ...

  2. a标签添加链接下划线样式

    <a href="/aaaa.asp" target="_blank" style="text-decoration:underline;&qu ...

  3. 抓包分析 TCP 握手和挥手

    前言 首先需要明确的是 TCP 是一个可靠传输协议,它的所有特点最终都是为了这个可靠传输服务.在网上看到过很多文章讲 TCP 连接的三次握手和断开连接的四次挥手,但是都太过于理论,看完感觉总是似懂非懂 ...

  4. 第2-1-3章 docker-compose安装FastDFS,实现文件存储服务

    目录 4 docker-compose安装FastDFS 4.1 docker-compose-fastdfs.yml 4.2 nginx.conf 4.3 storage.conf 4.4 测试 4 ...

  5. 使用GitHub Actions实现自动化部署

    前言 大家在工作中想必都是通过自动化部署来进行前端项目的部署的,也就是我们在开发完某个需求时,我们只需要将代码推送到某个分支,然后就能自动完成部署,我们一般不用关心项目是如何build以及如何depl ...

  6. Vue3 企业级优雅实战 - 组件库框架 - 1 搭建 pnpm monorepo

    前两篇文章分享了基于 vite3 vue3 的组件库基础工程 vue3-component-library-archetype 和用于快速创建该工程的工具 yyg-cli,但在中大型的企业级项目中,通 ...

  7. centos使用lftp备份文件

    一直以来项目的文件没有备份,最近需要增加备份,本来以为备份是IT的工作,结果IT说工作忙,拖了半个月给分配完ftp服务器后说不给备份,需要我们开发自己备份...我特么*** 对于ftp备份,咱是没有经 ...

  8. Mp3文件标签信息读取和写入(Kotlin)

    原文:Mp3文件标签信息读取和写入(Kotlin) - Stars-One的杂货小窝 最近准备抽空完善了自己的星之小说下载器(JavaFx应用 ),发现下载下来的mp3文件没有对应的标签 也是了解可以 ...

  9. xshell取消置顶

    现象:xshell置顶,导致无法正常浏览其他应用,文件等 原因分析:打开xshell时,触发其置顶快捷方式:Alt+A 解决建议:针对此问题,首先,可以从"查看栏"手动取消置顶:其 ...

  10. 使用repo上传代码

    前言~ repo是一款安卓用于管理源码的工具,由python实现,基于git工具 本文介绍了repo的常用使用方式. 一,下载代码 1. repo init 初始化命令 此命令常用选项就那几个,此处取 ...