草庐IT

BC2-小飞机

main工作室 2023-03-28 原文

题目描述

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;
}

如果你要问 forif 中的判断条件是怎么得到的,问就是我一个个数出来的,哈哈,寻找规律嘛。

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

  1. 我的NBIOT学习——BC35-G用AT指令通过CoAP协议连接华为云 - 2

    一、首先在华为云物联网平台上的创建产品与设备模型定义、插件开发这就不赘述了 注:我尝试用了不加密的方式,但是无法连接;选择加密的注册方式,可以连接注:NBIOT的密钥(PSK)仅支持32个16进制数(0-f),        例如:a22aaa699997ff90fbc1ac89aab94a99二、通过AT指令使NBIOT连接上华为云1.设备初始化:1AT2AT+CFUN=03AT+QSETPSK=,        注:pskid填0,psk即上面自己写的密钥4AT+NCDP=,        注:ip获取方法,端口号填5684  5AT+QSECSWT=12.开始连接iot平台:1AT+CF

  2. docker - sh : ./bc2influx:进入停止容器时未找到 - 2

    我在运行docker容器时遇到问题。➜bc_to_influxgit:(master)✗dockerrunregistry.gitlab.com/xxx/bc_to_influx:lateststandard_init_linux.go:207:execuserprocesscaused"nosuchfileordirectory"当我调试时,我在停止的容器中输入:dockercommit0db73216baafuser/test_imagedockerrun-ti--entrypoint=shuser/test_image在ls命令上,我只能执行我的可执行文件:/bc2influx#

  3. windows - Golang fmt.Print ("\033c") 和 fmt.Print ("\x1bc") 没有清除屏幕(ANSI Escape 代码不起作用)如何修复? - 2

    每当我在Windowscmd上的Go中运行fmt.Print("\033c")时,它不会清除屏幕,而是在我执行console时打印c。log("\033c")在javascript中它工作正常。根据以下链接,这应该有效:https://en.wikipedia.org/wiki/ANSI_escape_code#Windowshttps://learn.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences#samples我已经尝试在javascript中记录它并且它工作正常我还尝试在打印c的末尾添加

  4. vb.net - BC30451 'VARIABLE' 未声明。由于其保护级别,它可能无法访问 - 2

    我似乎对下面的代码有错误。PrivateSubForm1_Load(senderAsObject,eAsEventArgs)HandlesMyBase.LoadMe.CenterToScreen()IfMy.Computer.FileSystem.FileExists("bin\php\php.exe")ThenDimPHPRCAsString=""DimPHP_BINARYAsString="bin\php\php.exe"ElseDimPHP_BINARYAsString="php"EndIfIfMy.Computer.FileSystem.FileExists("PocketMi

  5. windows - ntdll_77bc0000 或 ntdll_772d0000 在 Wow64 调用堆栈中意味着什么 - 2

    我有WOW64崩溃转储,其中包含调用堆栈信息,例如:0018fb0077c06a8b0018fbc80018ffc40018fc18ntdll_77bc0000!ExecuteHandler2+0x26或喜欢:0018fb0077c06a8b0018fbc80018ffc40018fc18ntdll_772d0000!ExecuteHandler2+0x26ntdll_772d0000好像是一个dll的名字,但是我在C:\Windows\SysWOW64中没有看到,我也很好奇为什么在同一台机器上会有不同的名字,比如ntdll_77bc0000和ntdll_772d0000。谢谢。

  6. visual-studio-2010 - 此安装不支持项目 {BC8A1FFA-BEE3-4634-8014-F334798102B3} - 2

    我得到Projectisnotsupportbythisinstallation在VS2010Pro中打开项目时出错查看我看到向导了{BC8A1FFA-BEE3-4634-8014-F334798102B3}表示WindowsStoreApps(MetroApps)我应该安装什么来运行这个项目类型? 最佳答案 此类项目可以使用VisualStudio2012至2015版本打开。从VisualStudio2017开始,不再支持此类项目。https://www.visualstudio.com/en-us/productinfo/vs2

  7. c# - 在 .net/sql 服务器中处理 bc 日期的最佳方法是什么? - 2

    我打算创建一个时间轴应用程序来存储和显示特定日期的信息。例如:亚里士多德公元前384年-公元前322年;但也有广告日期,如ImmanuelKant22.04.1724-12.02.1804)。我想使用sql精简版数据库。日期时间格式允许从1/1/175312:00:00:00AM到12/31/999911:59:59PM的日期。所以我不能使用native日期时间格式。.Net也不允许使用nativeDateTime类的bc日期(0001.01.01是第一天)。我是否必须使用varchar列定义自己的格式并在.Net中解析这些值? 最佳答案

  8. javascript - 您可以创建低于 271800 BC 的日期吗?像恐龙时代? - 2

    这是我对javascript日期的最低要求:varmyDate=newDate(0,0,1);myDate.setFullYear("-271800");alert(myDate);任何低于-271,800BC的日期都会引发无效日期错误。我们能回到一百万年前吗?还是十亿?日期对象可以让你描述无限过去或future的任何日期吗?我该如何做这样的事情? 最佳答案 表示一百万年前的特定日期让我觉得毫无意义。儒略历?星期几应该遵守Babylonian系统?为此创建您自己的类型,确定您实际需要表示的内容。---更新:这已被接受,所以我将添加一

  9. java - 用 BC 验证分离的签名 - 2

    如何使用Java中的BouncyCaSTLe提供程序验证分离的签名(CMS/pkcs#7签名)?目前,我的下面的代码抛出异常消息message-digestattributevaluedoesnotmatchcalculatedvalueSecurity.addProvider(newBouncyCastleProvider());Filef=newFile(filename);byte[]buffer=newbyte[(int)f.length()];DataInputStreamin=newDataInputStream(newFileInputStream(f));in.read

  10. java - PBEWITHSHA256AND128BITAES-CBC-BC 在 RedHat 6.4 上创建 java.security.NoSuchAlgorithmException - 2

    我们有一个应用程序使用BouncyCaSTLe通过PBEWITHSHA256AND128BITAES-CBC-BC算法加密数据。它在运行OpenJDK1.7的Ubuntu上运行良好。但是,当我们将其移动到同时运行OpenJDK1.7的RedHat6.4时,我们会遇到以下异常:java.security.NoSuchAlgorithmException关于可能导致此问题的任何想法。我们如何将PBEWITHSHA256AND128BITAES-CBC-BC算法添加到RedHat6.4?p.s.应用程序在JBoss中运行。privateStringcryptoAlgorithm="PBEWI

随机推荐