牛客编程入门 BC6小飞机

牛客编程入门 BC6小飞机


1.题目

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

2.初始化

将i设定为行数,j设定为列数。首先初始化i和j。

int i = 0, j = 0;  

总共会打印六行、十二列。

for (i = 1; i <= 6; i++)
for (j = 1; j <= 12; j++)

3.打印飞机尾部

当打印到第一行或第二行中的第五列或者第七列时,打印’*'。

if ((j == 6 || j == 7) && (i == 1 || i == 2))
{
    printf("%c", '*');
}

4.打印飞机身部

第三行或第四行全部打印’*'。

if (i == 3 || i == 4)
{
    printf("*");    
}

5.打印飞机头部

当打印到第五行或第六行中的第四列或者第八列时,打印’*'。

if ((i == 5 || i == 6) && (j == 5 || j == 8)) 
{
    printf("*");
}

6.其余打印

其余打印空格

printf(" "); 

7.总结

本题考查我们对for和if循环语句的理解以及对逻辑运算符的运用。本题包含了多层的for和if嵌套,比较容易出错。

注意事项

  • if和else总是一一对应的。
  • 如果有多个if和else, else总是跟最接近的if匹配。
  • for相对于while循环的优点为:for将初始化、判断和调整总结到一起。

完整代码如下所示:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

int main()
{
    int i = 0, j = 0;           //i为行,j为列
    for (i = 1; i <= 6; i++)     //输出六行
    {
        for (j = 1; j <= 12; j++)      //输出十二列
        {
            if ((j == 6 || j == 7) && (i == 1 || i == 2))      //在第五列或第六列并且在第一行或者第二行
            {
                printf("%c", '*');
            }
            else
            {
                if (i == 3 || i == 4)
                {
                    printf("*");    //第4行或第三行全部打印
                }
                else
                {
                    if ((i == 5 || i == 6) && (j == 5 || j == 8))    //第五行或第六行并且第五列或第八列
                    {
                        printf("*");
                    }
                    else
                    {
                        printf(" ");   //其余打印空格
                    }
                }
            }


        }
        printf("\n");
    }
    return 0;
}

因追求代码的格式,没有省略一些大括号。

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值