BC2-小飞机

科技资讯 投稿 5400 0 评论

BC2-小飞机

题目描述

输入描述

输出描述

解题思路

方案一

按照行进行划分,总共可以分成 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-小飞机

赞同 (26) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽